如何获取分组的Kendo网格中所选行的索引和数据

Gun*_*lan 6 javascript jquery html5 kendo-ui kendo-grid

我正在尝试访问行索引,如下所示:

var grid = $("#grid").data("kendoGrid");
alert(grid.select().index());
Run Code Online (Sandbox Code Playgroud)

我在这个jsfiddle链接中添加了我的代码.这个代码在我的系统中工作,我不知道为什么 deleteRecord()没有在jsfiddle中调用方法,但这不是实际的问题.

在这里点击最后一行的取消按钮提醒消息时会将索引显示为8,但实际索引为4.每个按钮只给我错误的索引.

Lar*_*ner 14

你在小提琴中使用了一个非常古老的Kendo UI版本,因此选择也不起作用.它没有找到的原因deleteRecord是你设置你的小提琴包装window.onLoad,这发生在之后document.ready.

关于行索引:您需要确定相对于网格数据行的索引(如果您只是获取所选行的索引,它也会计算分组行;如果您有任何行,则会对细节行进行相同的操作) ,所以你可以grid.items()像这样使用:

var grid = $("#grid").data("kendoGrid");        
var dataRows = grid.items();
var rowIndex = dataRows.index(grid.select());
Run Code Online (Sandbox Code Playgroud)

在这里看演示.

如果你真正感兴趣的是访问所选行的数据,你应该使用类似的东西(请注意,所有这些都假设您的网格设置为单元格或单行选择):

var tr = grid.select().closest("tr");
var dataItem = grid.dataItem(tr);
Run Code Online (Sandbox Code Playgroud)