您的位置:首页 > 其它

kendoGrid 选中上一行、下一行

2017-12-19 14:42 351 查看
[2017-12-20]

    var grid = $("#gridMaster").data("kendoSmartGrid");    

    grid.select(grid.select().next());                  // 選中當前行的下一行

   

    这种写法的好处就是不用考虑Grid Header的行数,也不用关心select()取索引由0开始,select()选中索引由1开始等部问题

[2017-12-19]

    var grid = $("#gridMaster").data("kendoSmartGrid");

    var row = grid.select();                               // 取當前行。 注意:select()取索引由 0 開始

    var grid_header_row = 1;                               // Grid Header 的行數

    var idx = 1 + grid_header_row + row.index() + 1;       // 下一行索引(下一行 = 1(兩個select()的差異數) + [Grid Header 的行數] + [當前行索引] + 1)

    //或

    //var idx = 1 + grid_header_row + row.next().index();
    grid.select("tr:eq(" + idx + ")");                    // 選中下一行。注意:select()選中行,由開始并且要加上Grid Header的行數

来个完整的方法

moveRow: function (move) {
var that = this;
var grid = $("#gridMaster").data("kendoSmartGrid");
var len = grid._data.length;
var row = grid.select();

//因為index是從0開始,而grid.select()是從1開始,所以select時的index需要加1
if (move == "up") {
var rowIndex = row.prev().index() + 1;
if (rowIndex == 0) {
myUI.showMsg('已到頂行!', "系統提示", "ok", "warning", null);
grid.select('tr:eq(1)');
}
else {
grid.select('tr:eq(' + rowIndex + ')');
}
return that.returnData();
}
if (move == "down") {
var rowIndex = row.next().index() + 1;
if (rowIndex == 0) {
myUI.showMsg('已到最後一行!', "系統提示", "ok", "warning", null);
grid.select('tr:eq(' + len + ')');
}
else {
grid.select('tr:eq(' + rowIndex + ')');
}
return that.returnData();
}
},

returnData: function () {
var grid = $("#gridMaster").data("kendoSmartGrid");
var row = grid.select();
var dataItem = grid.dataItem(row);
return dataItem;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: