我正在使用kendo網格(Angular JS)的web應用程序工作。每次刪除或插入操作後,我應該撥打grid.saveChanges()
。但在特殊情況下,如kendo grid cancelChanges issue
- 插入一條記錄並調用的SaveChanges
- 然後刪除相同的記錄,並調用的SaveChanges
- 然後撥打電話grid.cancelChanges()
通常它回到最後saveChanges
狀態,但在我的情況下,它顯示刪除的行。任何幫助?
我正在使用kendo網格(Angular JS)的web應用程序工作。每次刪除或插入操作後,我應該撥打grid.saveChanges()
。但在特殊情況下,如kendo grid cancelChanges issue
通常它回到最後saveChanges
狀態,但在我的情況下,它顯示刪除的行。任何幫助?
最後我得到了solution.My問題與獨特id.After保存數據我已經改變的ID:當你打電話cancelChanges()
存儲在_pristineData
屬性,以便嘗試這種解決方法的數據恢復grid.dataSource.data()項。因此,grid.dataSource._pristineData和grid.dataSource._data之間的映射被破壞了。所以我的解決方案是更改grid.dataSource._pristineData的id。現在它的工作。謝謝您。
我試過了你在這個演示中說的:http://demos.telerik.com/kendo-ui/grid/editing但它工作正常。
也許只有在您手動撥打saveChanges()
時纔有效。
var grid= $("#YourGrid").data("kendoGrid");
grid.saveChanges();
grid.dataSource._pristineData = grid.dataSource._data;
我認爲這個問題與grid.addRow()有關,我手動設置了一個id(grid.dataSource._data [grid.dataSource._data.length - 1] .id = 0;)。問題cancelChanges()。 – user3161958 2014-10-09 06:02:54
所以當你刪除你說的那一行時,你在dataSource中添加了哪一行?並且cancelChanges()開始正常工作? – 2014-10-09 09:22:31
我改變了我的代碼就像你說的,但使用代碼後,如果我在網格中進行任何更改,它也影響grid.dataSource._pristineData而不調用savechanges()。更具體地說,如果在grid.dataSource._data中完成任何更改,它也影響grid.dataSource._pristineData – user3161958 2014-10-09 10:08:48