Sha*_*les 7 javascript jquery angularjs kendo-grid kendo-datasource
如果未选中当前行,如何编辑当前行?我有一个batch启用的Kendo网格navigatable.我的目标是使用该dataItem.set()方法手动编辑列中的数据.但是,当您添加行时,它不会自动选中.因此,vm.testGrid.dataItem(vm.testGrid.select())不能使用.
vm.testGrid.dataSource.get(e.model.get("Id")) 获取新添加的行,但如果在保存之前添加了多行,它将始终获得第一个添加的行("Id"设置为自动增量并由数据库服务器自动生成,因此所有新创建的行最初将为0在保存之前).
vm.onEdit = function (e) {
$('input.k-input.k-textbox').blur(function (f) {
//var data = vm.testGrid.dataItem(vm.testGrid.select());
var data = vm.testGrid.dataSource.get(e.model.get("Id")); // will always get the firstly added row
data.set("LookupCol", "1000");
}
});
Run Code Online (Sandbox Code Playgroud)
有没有更好的解决方案来获取当前编辑的行?或者有更好的方法来编辑当前行吗?
下面将为您提供与当前单元格关联的数据项:
var dataItem = grid.dataItem(grid.current().closest("tr"));
// You can then set properties as you want.
dataItem.set("field1", "foo");
dataItem.set("field2", "bar");
Run Code Online (Sandbox Code Playgroud)
我使用了 JQuery Closest() 函数:
vm.onEdit = function (e) {
$('input.k-input.k-textbox').blur(function (f) {
var data = vm.testGrid.dataItem($(e.container).closest("tr"));
data.set("LookupCol", "1000");
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17387 次 |
| 最近记录: |