Как сообщить ExtJS Grid, что отредактированные данные уже синхронизированы?

У меня есть несколько сеток на странице. После того, как я редактирую данные в них, я нажимаю кнопку «Сохранить», собираю все изменения и строю Ajax-запрос с изменениями на сервер. Все работает отлично, кроме одного. После успешного обновления данных мне нужно указать сетке перерисовать и обновить ее хранилище, что означает удаление обновленных/созданных записей из хранилища (изменения отображаются в виде красных прямоугольников в верхнем левом углу).

Если я попытаюсь удалить все записи и заполнить их снова, я получаю ошибку ExtJS: Uncaught TypeError: Cannot read property 'internalId' неопределенного стека вызовов:

  • Ext.define.updateIndexes ext-all-debug.js:58747
  • Ext.define.onAdd ext-all-debug.js:58701
  • Base.callParent ext-all-debug.js:2833
  • Ext.define.onДобавить ext-all-debug.js:76400
  • огонь ext-all-debug.js:10259
  • Ext.define.fireEvent ext-all-debug.js:13385
  • Ext.define.insert ext-all-debug.js:44663
  • Ext.define.add ext-all-debug.js:44688
  • Ext.define.listeners.write OrderEdit.js: 560
  • огонь ext-all-debug.js:10259
  • Ext.define.fireEvent ext-all-debug.js:13385
  • Ext.define.onProxyWrite ext-all-debug.js:43978
  • Ext.define.onBatchOperationComplete ext-all-debug.js:44005
  • огонь ext-all-debug.js:10259
  • Ext.define.fireEvent ext-all-debug.js:13385
  • onProxyReturn ext-all-debug.js:51056
  • Ext.define.processResponse ext-all-debug.js:26205
  • (анонимная функция) ext-all-debug.js:26397
  • Ext.apply.callback ext-all-debug.js:5022
  • Ext.define.onComplete ext-all-debug.js:21028
  • Ext.define.onStateChange ext-all-debug.js:20979
  • (анонимная функция) ext-all-debug.js:1503

Есть ли другой способ сделать это правильно?


person mastak    schedule 01.09.2011    source источник


Ответы (1)


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

person nscrob    schedule 01.09.2011