剑道网格有变化,如何处理只读网格
本文关键字:网格 处理 只读 有变化 何处理 | 更新日期: 2023-09-27 18:33:12
>我目前想迭代每个剑道网格,如果有挂起的更改,请警告用户。为此,我使用方法hasChanges()
(我使用批量编辑):
$(".k-grid").each(function () {
if ($(this).data('kendoGrid').dataSource.hasChanges()) {
//Warn user about pending changes
}
}
这工作正常。
但是,我有一些只读网格,它们应该始终返回 false。问题是,它们总是返回 true(这是不可能的,因为它们无法编辑)。
我调查了差异,问题是,我的只读网格没有定义AjaxDataSourceBuilder<TModel>
中的Model ID
:
.Model(model => model.Id(entity => entity.SomeId)
必须定义它们才能从只读网格上的hasChanges()
获取false
。
我的问题:
- 我可以在不设置每个网格
Model ID
的情况下使hasChanges()
正常工作吗?这对我来说似乎有点头顶。
互生
- 我可以在运行时通过 JS 检查网格是否可编辑吗?
Kendo Grid 有方法 getOptions() 并且有属性可编辑。
var grid = $("#grid").data("kendoGrid");
var options = grid.getOptions();
console.log(options.editable); //outputs true or false
我认为 schema.model.id 是必要的,因为它是 CRUD 操作的关键属性。所以你需要它才能让hasChanges()正常工作。