首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Slickgrid -使用箭头链接移动行

Slickgrid -使用箭头链接移动行
EN

Stack Overflow用户
提问于 2013-03-06 05:30:50
回答 2查看 889关注 0票数 1

我正在尝试创建一个函数,当单击某一行上的箭头链接(向上或向下)时,该行将向上或向下移动。

有没有办法以这种方式动态移动数据中的行?

(我知道有RowMoveManager,但需求要求箭头链接,而不是可拖动的)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-07 05:06:53

我找到了一种方法,尽管这可能不是最有效的方法。我的数据中有一个列,rank,并且我在一个箭头索引(MoveOneUp)上添加了一个索引函数;

代码语言:javascript
运行
复制
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');
}

如果有人需要箭头函数的其余部分:

代码语言:javascript
运行
复制
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');
}
票数 1
EN

Stack Overflow用户

发布于 2014-04-07 19:22:08

代码语言:javascript
运行
复制
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();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15234517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档