2015-06-02 6 views
0

Я переконфигурировал свой магазин и добавил к нему новые поля, а затем загрузил его соответствующую сетку. Мне нужно отредактировать ячейки сетки и сохранить все измененные строки сетки за один шаг в конце.Extjs: получить измененные записи после перенастройки магазина

Проблема в том, что когда я вызываю этот код, я получаю все строки в сетке, даже если я не редактировал ни одну ячейку или строку в сетке, может быть, потому что я переконфигурировал хранилище. Но на самом деле ничего не изменилось, и новые поля в магазине предназначены только для просмотра.

Как я могу получить строки, значения которых были изменены?

// returns all store records 
Ext.ComponentQuery.query("documentgrid")[0].getStore().getModifiedRecords(); 

ответ

0

я получал все записи, потому что я не называю CommitChanges на магазин после reconfigurer.

0

Ваша проблема не описана достаточно четко. С небольшим угадыванием дайте вам этот ответ, я надеюсь, что это поможет.

Функция getModifiedRecords() не используется. Вместо этого выберите «обновление» магазина. Он может подключаться к модификации полей модели в магазине.

Try фрагменты кода:

{ 
    //your grid config goes here 
    listeners:{ 
     update:function(me, record){ 
      //TODO save the modified record somewhere for your save button to pickup. 
     } 
    } 
} 
+0

Добавил это в мою кнопку сохранения сетки, и ничего не произошло. GetStore(). On ('update', function (this, record, operation, modifiedFieldNames, eOpts) { }); – sina

+0

Прежде всего, вы должны это знать. Событие обновления публикуется каждый раз, когда вы редактируете ячейку сетки, а ваш прослушиватель обновлений должен быть готов до редактирования ячейки. Обработчик saveButton вызывается после изменения сетки! Ваш слушатель ничего не выслушал. мой обновленный пост. – happyyangyuan

Смежные вопросы