2

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

店铺:

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

我错过了什么吗?

4

1 回答 1

0

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

结果,当您调用sync()商店时,不会认为它有任何更改要发送,所以我原以为您不会收到对您的代理 api url 发出的 ajax 请求。

于 2013-01-23T08:44:27.167 回答