我正在尝试像这样访问行索引:
var grid = $("#grid").data("kendoGrid");
alert(grid.select().index());
我在这个 jsfiddle 中添加了我的代码关联。这段代码在我的系统中有效,我不知道为什么在 jsfiddle 中没有调用 deleteRecord()
方法,但这不是实际问题。
这里虽然点击最后一行的取消按钮警告消息会说索引为8,但实际索引是4。每个按钮只给我错误的索引。
最佳答案
您在 fiddle 中使用的是非常旧版本的 Kendo UI,因此选择也不起作用。它没有找到 deleteRecord
的原因是您将 fiddle 设置为包装在 window.onLoad
中,这发生在 document.ready
之后。
关于行索引:你需要确定相对于网格数据行的索引(如果你只是得到所选行的索引,它也会计算分组行;如果你有),所以你可以像这样使用 grid.items()
:
var grid = $("#grid").data("kendoGrid");
var dataRows = grid.items();
var rowIndex = dataRows.index(grid.select());
查看演示 here .
如果您真正感兴趣的是访问所选行的数据,您应该使用类似这样的东西(请注意,所有这些都假设您的网格设置为单元格或单行选择):
var tr = grid.select().closest("tr");
var dataItem = grid.dataItem(tr);
关于javascript - 如何获取分组 Kendo 网格中选定行的索引和数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20815195/