Kendo网格:使用jQuery连续将多个单元格弄脏

时间:2017-09-20 09:14:18

标签: javascript jquery kendo-ui kendo-grid dataitem

我有一个批量可编辑的网格。我通过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 });

任何关于脏痕的想法都不会消失? 感谢。

2 个答案:

答案 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。