提交网格Ext JS的已编辑列

时间:2013-07-31 07:50:32

标签: extjs grid

所以我有grid看起来像这样

itemId: 'someGrid',
xtype: 'grid',
title: 'Some Grid',
store: 'SomeStore',
selType: 'cellmodel',
plugins: [
   Ext.create('Ext.grid.plugin.CellEditing', {
       clicksToEdit: 2
   })
],
columns: [
                { text: 'column1', dataIndex: 'dataIndex1', flex: 2.7 },
                { xtype: 'checkcolumn', text: column2, dataIndex: 'dataIndex2', flex: 2.7 },
                { xtype: 'checkcolumn', text: column3, dataIndex: 'dataIndex3', flex: 3 },
                { 
                    text: column4, dataIndex: 'dataIndex4', flex: 3.85,
                    editor: {
                        xtype: 'combobox',
                        itemId: 'someCOmbo',
                        store: 'SomeStoreOfCombo',
                        displayField: 'DataName',
                        valueField: 'DataId',
                        allowBlank: false,
                        editable: false,
                    }
                },
                {
                    text: column5, dataIndex: 'dataIndex5', flex: 3,
                    editor: {
                        xtype: 'textfield',
                        allowBlank: false,
                    }
                },
                {
                    text: column6, dataIndex: 'dataIndex6', flex: 3.1,
                    editor: {
                        xtype: 'textfield',
                        allowBlank: false,
                    }
                },
                { text: column7, dataIndex: 'dataIndex7', flex: 1.7 },
                { dataIndex: 'Id', hidden: true }
            ],

checkcolumnscolumn4 5和6都是可编辑的。我在网格下面有按钮提交更改。那么如何获得对网格所做的所有更改,以便我可以提交它?

1 个答案:

答案 0 :(得分:0)

直接编辑,因此您不需要按钮:

plugins:[ Ext.create('Ext.grid.plugin.CellEditing',{clicksToEdit: 2, Listeners:[edit: function(editor, e){if (e.value !== e.originalValue) {this.someGrid.getStore().getById(e.record.data.ID).commit();}}]})],

可能需要稍微调整,因为我通常使用Ext.Net并且只是尝试翻译。但是你应该理解它背后的想法;)

如果您希望按钮使用<store>.sync();作为点击处理程序

(编辑:我不知道有没有让linebreaks工作 - 有人可以编辑吗?)