存储在extjs4中看不到网格上的更改

时间:2013-01-23 03:48:07

标签: extjs extjs4 extjs4.1

我正在尝试将更改从网格保存到商店,但我不确定我是否以正确的方式执行此操作。

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();
   }
}

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

使用store_jvdtl.sync();是正确的,但我认为您不想调用commitChanges(),原因是commitChanges()将商店中的记录标记为“干净”或者更确切地说,消除了他们的肮脏状态。

因此,当您致电sync()时,商店认为发送没有任何更改,因此我认为您不会收到对您的代理API发送的ajax请求。< / p>