假设您有一个 kendo.data.DataSource。然后你修改一行。该行已变脏。现在您想比较在保存之前是否更改了特定列。
kendo.data.DataSource 是否将旧值存储在本地某处?
我怀疑它确实如此,因为您似乎可以调用 .cancelChanges() 和 .cancelRow() 但我似乎找不到它。
我也怀疑你不应该使用它。
假设您有一个 kendo.data.DataSource。然后你修改一行。该行已变脏。现在您想比较在保存之前是否更改了特定列。
kendo.data.DataSource 是否将旧值存储在本地某处?
我怀疑它确实如此,因为您似乎可以调用 .cancelChanges() 和 .cancelRow() 但我似乎找不到它。
我也怀疑你不应该使用它。
您是正确的,您不应该使用它,但它位于数据源中。
当前显示的数据/要提交的脏数据存放在dataSource._data
最后保存的值/非脏数据存放在dataSource._pristineData
脏标志也存储在 _data 中。
_
. 您也可以使用 kendo 提供的 get/set 函数保存当前数据。dataSource.data()
功能。用相同的功能更新它dataSource.data(myNewData)
理想情况下,剑道将提供这样的功能。但是,我找到的下一个干净的解决方案是使用 onfocus 和 onblure 事件,如下所示: onfocus:您存储原始值 onblure:您执行逻辑并在需要时放回原始值。
祝你好运,我希望我帮助了某人:)如果是这样,那么为我的朋友欢呼:)