我正在尝试访问行索引,如下所示:
var grid = $("#grid").data("kendoGrid"); alert(grid.select().index());
我在这个jsfiddle链接中添加了我的代码.这个代码在我的系统中工作,我不知道为什么在jsfiddle中没有调用deleteRecord()方法,但这不是实际的问题.
解决方法
你在小提琴中使用了一个非常古老的Kendo UI版本,因此选择也不起作用.它没有找到deleteRecord的原因是你将你的小提琴设置为window.onLoad,它发生在document.ready之后.
关于行索引:您需要确定相对于网格数据行的索引(如果您只是获取所选行的索引,它也会计算分组行;如果您有任何行,则会对细节行进行相同的操作),所以你可以像这样使用grid.items():
var grid = $("#grid").data("kendoGrid"); var dataRows = grid.items(); var rowIndex = dataRows.index(grid.select());
见demo here.
如果你真正感兴趣的是访问所选行的数据,你应该使用类似的东西(请注意,所有这些都假设您的网格设置为单元格或单行选择):
var tr = grid.select().closest("tr"); var dataItem = grid.dataItem(tr);