在Ext.grid.Panel细胞解决脏标志(Resolving Dirty Flag in Ext

2019-09-21 03:05发布

在Ext JS的网格,我编辑的单个细胞。 在一列我有一个保存按钮,触发该保存事件。 我怎样才能在编辑细胞去除脏标志(红色框下面我的形象)? 我不知道如何使用代理执行创建,更新和销毁的选择,因为文档有一个很好的例子,所以我打算做这些步骤,直到我可以采取实际煎茶训练一个AJAX请求。 但是,如果脏标志自行解决,如果我工作的商店,并直接代理,我宁愿做正确的方式。

JavaScript代码:

            }, {
                header: 'Save',
                xtype: 'actioncolumn',
                align: 'center',
                width: 50,
                sortable: false,
                items: [{
                    icon: './Scripts/extjs/examples/shared/icons/fam/add.gif',
                    tooltip: 'Save Row',
                    handler: function (grid, rowIndex, colIndex) {
                        store.sync();                            
                        alert('saving');
                    }
                }]
            }, {
                header: 'Delete',
                xtype: 'actioncolumn',
                align: 'center',
                width: 50,
                sortable: false,
                items: [{
                    icon: './Scripts/extjs/examples/shared/icons/fam/delete.gif',
                    tooltip: 'Delete Task',
                    handler: function (grid, rowIndex, colIndex) {
                        store.removeAt(rowIndex);
                        store.sync();
                        alert('deleting');
                    }
                }]
            }

Answer 1:

一个网格反映了底层存储,这是根据你的数据模型记录的集合的状态。 因此,作为一个快捷方式,你有你的Ajax代理想通之前,你可以这样做:

// Save handler
handler: function(grid, rowIndex, colIndex) {
    store.sync(); // Doesn't work now

    store.getAt(rowIndex).commit(); // Commit changes, clearing dirty flag

    alert('Record should now be clear');
}


Answer 2:

尝试这个:

// you can keep the way you are creating your Grid
Ext.create('Ext.grid.Panel', {
    // other options
    // these configs are sent to Ext.view.Table through Ext.grid.View
    viewConfig: {
        markDirty: false
    }
});

我没有测试它,但我认为这是你所需要的。 看一看:

  • http://dev.sencha.com/deploy/ext-4.1.0-gpl/docs/index.html#!/api/Ext.grid.View
  • http://dev.sencha.com/deploy/ext-4.1.0-gpl/docs/index.html#!/api/Ext.view.Table
  • http://dev.sencha.com/deploy/ext-4.1.0-gpl/docs/index.html#!/api/Ext.view.Table-cfg-markDirty

阅读Ext.view.Table类的描述,你会明白正在做什么。



文章来源: Resolving Dirty Flag in Ext.grid.Panel cell
标签: Extjs grid save