我有一個ExtJS編輯器網格,裏面有一些列。我想修改記錄中的數據並自動將數據保存到數據庫。但是我完成編輯當前行的所有單元格後,只需要保存數據。我曾經使用過這個事件,但是在一個單元格發生變化之後它立即開啓了這個事件。 在完成修改所有單元格之前,如何讓該事件不會觸發?或者你能否建議採取另一種方式來做到這一點,而不是使用「事後」事件? 非常感謝。在編輯ExtJS網格中的整行後觸發「未處理」?
1
A
回答
0
我覺得你的情況下,有一個按鈕,你點擊保存網格會更容易。您可以通過調用grid.store.getModifiedRecords()
來訪問所有修改的記錄,並將其發送到您的後端服務,並執行批量更新,而不是一次更新單個行。
0
這是我的問題:你是否編輯了一行中的所有單元格?更好的解決方案是使用「保存」按鈕將更新的數據發送回服務器並將其保存到數據庫中。現在
,如果你堅持要在一行中的所有單元格將被修改,你可以做到以下幾點:
在afteredit
事件處理程序:
- 獲取正在編輯的記錄(你可以得到它通過
event.record
) - 檢查是否在記錄中修改了所有字段。這可以通過檢查公共財產
modified
來完成。 - 如果所有字段都被修改,則繼續將更新的記錄發送到服務器以保存到數據庫中。
0
你可以使用上的選擇模型rowdeselect
事件(假設你使用Ext.grid.RowSelectionModel
。裏面的事件處理程序可以檢查該記錄是否已被修改,並做出相應的反應。
var grid = // your grid
grid.getSelectionModel().on("rowdeselect", function(selModel, rowIndex, record) {
if (record.dirty) {
// record has been modified
}
});
0
你可能看看Ext.ux.grid.RowEditor
。它有一個afteredit
事件時,該行正在做編輯的閃光。
您可以在http://dev.sencha.com/deploy/dev/examples/grid/row-editor.html
找到工作示例相關問題
- 1. 編輯ExtJs網格中的一行
- 2. 可編輯網格ExtJS,如何在網格上編輯行後更新數據庫中的行
- 3. Extjs 4行編輯cancelit事件未觸發
- 4. ExtJS的3.4編輯網格:如何在
- 5. ExtJS網格單元格編輯
- 6. ExtJS編輯器網格中的自定義編輯控件
- 7. combo.Setvalue在編輯extjs網格行之前調用extjs網格行在4.2但不在6.2中工作
- 8. Extjs在網格編輯器中對組合框進行過濾
- 9. ExtJS編輯器中的無線電組網格/網格
- 10. 在ExtJs 3.4網格的特定單元格中開始編輯
- 11. EXTJS編輯器日期欄在將其添加到網格後未呈現
- 12. EXTJS網格中的小數精度行編輯插件
- 13. 如何在extjs網格(單元格編輯)中顯示可編輯的完整列?
- 14. 編輯後在EXTJS網格中將編輯的行設置爲無刷新頁面
- 15. 無法編輯ExtJS網格數據
- 16. extjs編輯器網格更新軌道
- 17. ExtJS Grid中的行編輯
- 18. ExtJS:編輯整個網格並一次保存
- 19. Extjs存儲加載成功處理程序未被觸發
- 20. ExtJS的 - 保持網格行選擇的同時編輯
- 21. Telerik網格更新無法在批處理編輯中工作
- 22. 如何在可編輯網格中處理StoreEvent? GXT
- 23. 在Extjs中設置要編輯網格的值
- 24. 在ExtJS的網格標題中添加組合框編輯器
- 25. EXTJS:編輯器網格 - 插入具有不同屬性的行
- 26. ExtJs屬性網格 - 選定的行可編輯?
- 27. NullReferenceExeption在事件觸發時未處理
- 28. 在單元格編輯器中獲取extjs中的行數據
- 29. 編輯EXTJS網格中的行,點擊編輯按鈕,打開一個新窗口,以便編輯字段
- 30. extjs - 如何在單擊複選框後啓用網格單元格編輯