kat*_*330 16 javascript jquery kendo-ui
我找到了类似标题的帖子,但我仍然无法解决我的问题.我肯定做错了什么.
在Kendo网格配置中有一些功能,它采用上下文(网格)和读取所选行:
change: function (e) {
refresh(this);
}
Run Code Online (Sandbox Code Playgroud)
这就是我配置"更改"事件的方式.
在函数"刷新(网格)"中,我将按以下方式选择行:
refresh: function (grid) {
var selectedRows = grid.select();
var selectedRow = grid.dataItem(selectedRows[0]);
var id = selectedRow.Id;
}
Run Code Online (Sandbox Code Playgroud)
当我手动选择网格行时,此方法非常有效.但是当我以编程方式选择行时,"selectedRow"变量为null.
我按照以下方式以编程方式选择:
var grid = $("#grid").data("kendoGrid");
var rows = grid.dataSource.data();
var row = rows[rows.length - 1];
grid.select(row);
Run Code Online (Sandbox Code Playgroud)
正如我在上面的悲伤,在之前的"刷新(网格)"方法变量selectedRow将为null.
有没有人对此有一些看法?为什么会这样?
谢谢
Vla*_*iev 25
根据Grid文档,"select"方法接受"string"参数(selector)或jQuery元素.这就是为什么如果您需要正确选择行,您应修改当前代码,如下所示:
var grid = $("#grid").data("kendoGrid");
//if you are using the "pageable" option of the grid
//you should get the visible rows using the .view() method
var models = grid.dataSource.data();
var model = models[models.length - 1];
var lastRowUid = model.uid;
//find the target row element:
var row = grid.table.find("[data-uid=" + lastRowUid + "]");
grid.select(row);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21445 次 |
| 最近记录: |