我正在尝试创建一个函数,当在某一行上单击箭头链接(向上或向下)时,该行将向上或向下移动。
有没有办法以这种方式动态移动数据中的行?
(我知道有 RowMoveManager 但需求请求箭头链接而不是可拖动)
我正在尝试创建一个函数,当在某一行上单击箭头链接(向上或向下)时,该行将向上或向下移动。
有没有办法以这种方式动态移动数据中的行?
(我知道有 RowMoveManager 但需求请求箭头链接而不是可拖动)
我找到了一种方法,尽管它可能不是最有效的方法。我的数据中有一个列,排名,我在箭头 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');
}
function moveOneUp(rowIndex) {
dataViewReorder.beginUpdate();
rowIndex = rowIndex - 1;
dataViewReorder.getItem(rowIndex).intOrd0 = parseInt(dataViewReorder.getItem(rowIndex).intOrd0) - 1;
dataViewReorder.getItem(rowIndex - 1).intOrd0= parseInt(dataViewReorder.getItem(rowIndex - 1).intOrd0) + 1;
dataViewReorder.fastSort('intOrd0');
dataViewReorder.setItems(dataReorder);
dataViewReorder.endUpdate();
gridReorder.setData(dataViewReorder);
gridReorder.render();
}
function moveOneDown(rowIndex) {
dataViewReorder.beginUpdate();
rowIndex = rowIndex - 1;
dataViewReorder.getItem(rowIndex).intOrd0= parseInt(dataViewReorder.getItem(rowIndex).intOrd0) + 1;
dataViewReorder.getItem(rowIndex + 1).intOrd0= parseInt(dataViewReorder.getItem(rowIndex + 1).intOrd0) - 1;
dataViewReorder.fastSort('intOrd0');
dataViewReorder.setItems(dataReorder);
dataViewReorder.endUpdate();
gridReorder.setData(dataViewReorder);
gridReorder.render();
}