剑道电网hasChanges,我该怎么处理只读网格?
问题描述:
我现在想重复有关每个剑道电网,并警告用户,如果有挂起的变化。为此,我使用的方法hasChanges()
(我用的批量编辑):剑道电网hasChanges,我该怎么处理只读网格?
$(".k-grid").each(function() {
if ($(this).data('kendoGrid').dataSource.hasChanges()) {
//Warn user about pending changes
}
}
这工作得很好。
但是,我有一些readonly网格应该总是返回false。问题是,它们总是返回真实的(这是不可能的,因为它们不能被编辑)。
我调查的差异,问题是,我只读电网没有在AjaxDataSourceBuilder<TModel>
的Model ID
定义:
.Model(model => model.Id(entity => entity.SomeId)
他们必须被定义为得到hasChanges()
false
一个只读网格。
我的问题:
- 我可以
hasChanges()
正常工作时没有设定Model ID
每个网格?这对我来说似乎有点儿空虚。
备用
- 我可以通过JS在运行时检查,如果电网是可编辑的?
答
剑道网格具有方法getOptions()和有属性编辑。
var grid = $("#grid").data("kendoGrid");
var options = grid.getOptions();
console.log(options.editable); //outputs true or false
我认为schema.model.id是必要的,因为它是CRUD操作的关键属性。所以你需要它hasChanges()才能正常工作。