我有一个批量可编辑的网格。我通过jQuery修改数据项,并将更改后的值标记为脏,如下所示: grid._modelChange({field:“propertyName”,model:dataItem}); 另一种方法是set()方法:dataItem.set(“propertyName”,“value”),但我不使用它,因为它非常慢。
我想将多个单元格标记为连续脏,但是当我标记第二个字段时,第一个Prop的脏标记消失,当第三个字段标记为已更改时,第二个字段中的脏标记消失,所以只有第三个道具变脏了。
以下循环执行dataItem更新并将字段标记为脏:
$(GridDataItems).each(function () {
this.Prop1 = false;
Grid._modelChange({ field: "Prop1", model: this });
this.Prop2 = "someValue";
Grid._modelChange({ field: "Prop2", model: this });
this.Prop3= "someOtherValue";
Grid._modelChange({ field: "Prop3", model: this });
}
);
我需要这样的东西:
Grid._modelChange({ field: "Prop1", model: dataItem },
{ field: "Prop2", model: dataItem },
{ field: "Prop3", model: dataItem });
任何关于脏痕的想法都不会消失? 感谢。
答案 0 :(得分:0)
我相信这是剑道网格的正确行为。检查此链接:
http://www.telerik.com/forums/manually-updating-multiple-values#YfUbqGvY6UePysCKirK08A
查看文章,这里讨论了用脏标志突出显示多个单元格:
http://blog.codebeastie.com/kendo-grid-javascript-data-manipulation/
答案 1 :(得分:0)
谢谢大家,我终于在这篇博文中找到了解决方案:
http://blog.codebeastie.com/kendo-grid-javascript-data-manipulation/
问题在于,如果我为一个属性调用_modelCahnge,它会刷新整行,并删除所有脏单元格标记。
我将已更改的属性名称存储在一个数组中,并在调用所有_modelChange()方法之后,在数组中循环迭代,并按行列中的名称搜索我在dataItem搜索的内容中的单元格&#39 ; s。