0

我有一个批量可编辑的网格。我通过 jQuery 修改数据项,并将更改的值标记为脏,如下所示:grid._modelChange({ field: "propertyName", model: dataItem}); 另一种方式是 set() 方法:dataItem.set("propertyName","value"),但我不使用它,因为它非常慢。

我想连续标记多个单元格为脏,但是当我标记第二个字段时,第一个 Prop 的脏标记消失了,当将第三个字段标记为已更改时,第二个字段的脏标记消失了,所以只有第三个 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 });

有什么不让脏痕迹消失的想法吗?谢谢。

4

2 回答 2

0

我相信这是剑道网格的正确行为。检查此链接:

http://www.telerik.com/forums/manually-updating-multiple-values#YfUbqGvY6UePysCKirK08A

查看文章,这谈到了用脏标志突出显示多个单元格:

http://blog.codebeastie.com/kendo-grid-javascript-data-manipulation/

于 2017-09-22T03:45:46.423 回答
-1

谢谢大家,我终于在这篇博文中找到了解决方案:

https://web.archive.org/web/20171227135334/http://blog.codebeastie.com/kendo-grid-javascript-data-manipulation/

问题是,如果我为一个属性调用 _modelCahnge,它会刷新整行,并删除所有脏单元格标记。

我将更改的属性名称存储在一个数组中,并在调用所有 _modelChange() 方法后,在数组上循环迭代,并在我通过 dataItem 的 uid 搜索的行中按列名搜索单元格。

于 2017-09-22T10:00:26.923 回答