2013-07-31 2 views
1

Так у меня есть grid, который выглядит следующим образомSubmit отредактированных столбцов сетка Ext JS

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 } 
      ], 

как checkcolumns и column4 5 и 6 является изменяемым. У меня есть кнопка под сеткой для отправки изменений. Итак, как мне получить все изменения, которые были внесены в сетку, чтобы я мог его представить?

+0

? Вам все еще нужна помощь по этому вопросу? Вы просто хотите узнать, как получить записи, отмеченные как измененные? – Reimius

ответ

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(); в clickhandler

(Edit: я как-то не получают разрывы строк работать - может кто-то пожалуйста, измените его)