1

特定の行で矢印リンク(上または下)をクリックすると、その行が上または下に移動する関数を作成しようとしています。

この方法でデータ内の行を動的に移動する方法はありますか?

(RowMoveManager があることは知っていますが、要件ではドラッグ可能ではなく矢印リンクが要求されます)

4

2 に答える 2

1

最も効率的な方法ではないかもしれませんが、それを行う方法を見つけました。データにランクの列があり、矢印 moveOneUp(index); に onClick 関数を追加しました。

function moveOneUp(rowIndex) {
        _grid.dataView.getItem(rowIndex).rank = parseInt(_grid.dataView.getItem(rowIndex).rank)-1 ;
        _grid.dataView.getItem(rowIndex-1).rank = parseInt(_grid.dataView.getItem(rowIndex-1).rank)+1;
        _grid.dataView.fastSort('rank');
}

残りのアロー関数が必要な場合:

function moveOneDown(rowIndex) {
    _grid.dataView.getItem(rowIndex).rank = parseInt(_grid.dataView.getItem(rowIndex).rank)+1 ;
    _grid.dataView.getItem(rowIndex+1).rank = parseInt(_grid.dataView.getItem(rowIndex+1).rank)-1;
    _grid.dataView.fastSort('rank');
}

function moveTop(rowIndex) {
    _grid.dataView.getItem(rowIndex).rank = 0 ;
    _grid.dataView.fastSort('rank');
}


function moveBottom(rowIndex) {
    _grid.dataView.getItem(rowIndex).rank = parseInt(_grid.dataView.getLength())+1;
    _grid.dataView.fastSort('rank');
}
于 2013-03-06T21:06:52.847 に答える