Ext Js 6.0.0 удаляет маленькие красные флаги грязных ячеек таблицы вручную - PullRequest
0 голосов
/ 14 мая 2018

У меня есть таблица, в которой я могу изменить данные ячейки, после чего я вручную запускаю запрос AJAX PUT с этими измененными данными.«Таблица» расширяет Ext.grid.Panel.После успешного возврата запроса я хочу, чтобы красные флажки измененных ячеек исчезли.

red dirty flag

// some ID actually passed from somewhere else
var myEntityId = '123456';    

Ext.Ajax.request( {
  url: '/myEntity/'+ myEntityId,
  method: 'PUT',
  params: { pressure: 47 },
  success: function( response, opts ) {
    // remove red cell flags of the table...
  },
});

Как это сделать?

(сообщение на https://stackoverflow.com/a/11905922/845117 мне не очень помогло. На месте выполнения кода у меня нет магазина, подключенного к ячейкам таблицы. Плюс я отправляю дополнительную информацию бэкэндучем просто отображаются в таблице. Это также причины, почему я использую дополнительный запрос ajax для обновления бэкэнда.)

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

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

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

success: function( response, opts ) {
  grid.getStore().commitChanges();  
},

Кроме того, вы можете полностью скрыть красные флаги, настроив сетку так, чтобы они не отображались.Вы делаете это, предоставляя сетку viewConfig при ее создании или инициализации:

viewConfig: { showDirty: false }
0 голосов
/ 14 мая 2018

Вы всегда можете использовать record.commit() для фиксации записи без синхронизации с бэкэндом.

https://fiddle.sencha.com/#view/editor&fiddle/2glo

...