1

だから私は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 }
            ],

checkcolumns5と6の両方column4が編集可能です。グリッドの下に変更を送信するためのボタンがあります。では、グリッドに加えられたすべての変更を取得して、送信できるようにするにはどうすればよいですか?

4

1 に答える 1

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();ハンドラとして使用する場合

(編集:どういうわけか改行が機能しません-誰かが編集してもらえますか?)

于 2013-07-31T09:27:58.267 に答える