2011-12-31 64 views
1

請指點一個網格的Ext JS 4代碼示例,其中包含可通過彈出窗體編輯的記錄。這似乎是一個常見的用例,但我只能找到可編輯的網格並進行編輯。如何在提交彈出窗體時更新Ext JS 4網格

我的方法:

  1. 網格中的每一行都有一個編輯按鈕,顯示Ext.window.Window與項目Ext.form.Panel
  2. 當表單被提交時,我擁有所有的字段,這些字段對應於網格商店中的記錄。
  3. 我得到記錄使用:

    var storeRecord = grid.getStore().getAt(index);

    但是,當我修改此記錄的性能,並隱藏窗體窗口,網格不顯示更新的值。

我是否錯過了一些步驟?我需要強制刷新嗎?或者,也許有一種標準的方式來配置一個編輯器作爲表單面板的網格?

回答

1

經過兩個天的搜索,試驗和錯誤,我找到了解決辦法:

grid.getView().refresh(); 

我希望有用於外部學習曲線更快的方法。 :(

+0

你是如何修改記錄的?我的印象是,如果你做了「storeRecord.set('yourProperty','yourValue')」商店應該自動選擇它 – Chao 2012-01-01 15:28:46

+0

感謝格式化本斯科特,我@Chao「storeRecord.set('yourProperty','yourValue')」_will_將更新商店數據,但您仍然可以查看這些問題必須使用「grid.getView()。refresh()」作爲OP發現,使您的網格與商店中的數據相匹配 – Geronimo 2012-01-02 04:47:21

+1

@Geronimo我的意思是在我的原始評論中,網格應該會自動接受更改,通過使用「set」的記錄將在商店中觸發一個datachanged事件,網格的視圖正在監聽這個事件。網格顯示單元格左上角的小紅色三角形那個包含髒記錄 – Chao 2012-01-02 17:56:03