3

假设您有一个 kendo.data.DataSource。然后你修改一行。该行已变脏。现在您想比较在保存之前是否更改了特定列。

kendo.data.DataSource 是否将旧值存储在本地某处?

我怀疑它确实如此,因为您似乎可以调用 .cancelChanges() 和 .cancelRow() 但我似乎找不到它。

我也怀疑你不应该使用它。

4

2 回答 2

6

您是正确的,您不应该使用它,但它位于数据源中。

当前显示的数据/要提交的脏数据存放在dataSource._data 最后保存的值/非脏数据存放在dataSource._pristineData

脏标志也存储在 _data 中。


一般来说,您不想弄乱任何以_. 您也可以使用 kendo 提供的 get/set 函数保存当前数据。dataSource.data()功能。用相同的功能更新它dataSource.data(myNewData)

于 2014-11-12T17:04:38.517 回答
0

理想情况下,剑道将提供这样的功能。但是,我找到的下一个干净的解决方案是使用 onfocus 和 onblure 事件,如下所示: onfocus:您存储原始值 onblure:您执行逻辑并在需要时放回原始值。

祝你好运,我希望我帮助了某人:)如果是这样,那么为我的朋友欢呼:)

于 2018-07-03T21:49:46.207 回答