2016-08-23 11 views
1

У меня есть сетка, в которой я показываю данные, которые поступают из backend. Формат данных, какКак отобразить Измененное значение в сетке ExtJS

DESC:"H1", 
DISP:"", 
FID:474747, 
VALUE : 0, 
R:"" 

В этом R значении не приходит поэтому я устанавливаю R значение из моего кода.

var record = gridEl.getSelectionModel().getSelections(); 
for (var i = 0; i < record.length; i++) 
    record[i].set("R", RDetail); // RDetail is some value. 

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

Я также попробовал эти

store.reload(); 
store.commitChange(); 
grid.reconfigure(store); 

Но отображения есть некоторые проблемы.

ответ

0

Я могу придумать два других способа сделать это.

  1. В определении модели, при определении столбца R, вы можете добавить функцию «Конвертировать», чтобы заполнить это значение, когда данные загружаются из внутреннего интерфейса. http://docs.sencha.com/extjs/6.0.2-classic/Ext.data.field.Field.html#cfg-convert

  2. В определении столбца сетки вы можете добавить функцию рендеринга для вычисления этого значения. http://docs.sencha.com/extjs/6.0.2-classic/Ext.grid.column.Column.html#cfg-renderer

1

Вы можете использовать функцию рендеринга для столбца, к которому параметр «R» назначается в качестве dataIndex. Эта функция будет вызываться для каждой записи в магазине, чтобы вы могли написать свою логику, чтобы показать альтернативное значение для пробела R здесь. Это отображает измененное значение в пользовательском интерфейсе, не изменяя его в фактической записи хранилища.

Отметить этот пример http://extjs.eu/ext-grid-renderer-danger/

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

  • Нет связанных вопросов^_^