2016-11-03 34 views
0

我有一個角度應用程序,我試圖在Kendo Grid中創建批量編輯。我手動將數據添加到網格,因此不使用數據源的傳輸機制,而只是調用數據源上的.data()。Kendo UI DataSource toJSON後面是一個值

當我編輯單元格時,它正確地觸發了保存事件,該事件也傳遞了修改後的數據項,但是當我調用.toJSON()以獲取模型的原始數據時,.toJSON()似乎與模型本身的輸出不同。就好像.toJSON()在迭代後面,因爲當我再次編輯單元格時,它就是我得到的以前的值。

它的一個例子可以在這裏看到:http://dojo.telerik.com/ujiSu/5

嘗試編輯產品名稱,然後在控制檯可以看到模型的輸出和model.toJSON()

我的輸出已嘗試在.toJSON()之前調用數據源上的.read(),但由於某種原因導致數據源被清空。

我也一直在尋找模型數據的髒屬性,迫使它變髒的狀態,但也沒有任何不同的結果。

我的目標是獲取顯示在網格和數據源中的原始當前數據。

任何幫助,這是非常讚賞。

回答

0

在網格的保存事件中,模型尚未更新。它由網格更新(即推入網格的數據源)保存事件。這是因爲保存事件可以通過e.preventDefault()取消。 http://docs.telerik.com/kendo-ui/api/javascript/ui/grid#events-save

因此,e.model包含dataSource項目的當前狀態,並且e.values包含更新的字段,直到保存完成後,此時e.value中的值將被推入dataSource模型中。

您或者需要將網格保存事件中的e.value與e.model結合起來,或者您可能希望改爲查看數據源更改事件http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#events-change,其中操作是「itemchange」,因爲在網格保存事件後會發生該操作(只要你還沒有取消)。

+0

謝謝。我使用網格保存事件和檢查值屬性。 – mda144

相關問題