2013-01-23 72 views
2

我想保存從網格到商店的變化,但我不知道如果我正確地做到這一點。存儲沒有看到在網格中的變化extjs4

STORE:

store_jvhdr = new Ext.data.JsonStore({ 
     model: 'model_jvhdr', 
     proxy: { 
      type: 'ajax', 
      api: { 
       read: './journalservlet?batNbr='+batNbr+'&operation=GET_RECORD', 
       update: './journalservlet', 
       create: './journalservlet' 
      }, 
      reader: { 
       type: 'json', 
       root: 'data' 
      } 
     }, 
     autoLoad: true, 
     listeners: { 
      load: function(store, records, successful){ 
       ... 
      } 
     } 
     }); 

這是連接到電網

listeners: { 
    itemdblclick: function(dv, record, item, index, e){ 
    ... 
    }, 
    edit: function(editor, e){ 
     console.log('test'); 
     store_jvdtl.commitChanges(); 
     store_jvdtl.sync(); 
    } 
} 

我缺少的東西的聽衆?

回答

0

使用store_jvdtl.sync();是正確的,但我不認爲你想要調用commitChanges(),原因是commitChanges()將商店中的記錄標記爲「乾淨」或更確切地說,刪除它們的髒狀態。

因此,當您撥打sync()時,商店並不認爲它有任何更改要發送,所以我原以爲您不會收到針對您的代理api網址發出的ajax請求。

+0

以及我試圖刪除commitChanges行,它仍然無法正常工作。還有一件事是我不知道如何將整個商店數據打包到一個json數據/請求參數中,以傳遞給我的servlet。 – John