Extjs 6 - Как использовать DataIndex в сетке для вложенных данных - PullRequest
0 голосов
/ 23 марта 2019

Я создал скрипку здесь. Мой вопрос заключается в том, как назначить DataIndex для имени самолета и столбца имени оператора.

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

Я не хочу делать это так

{name: 'operator', type: 'auto'},
{name: 'operatorId', type: 'string', mapping:'operator.id'},
{name: 'operatorName', type: 'string', mapping:'operator.name'}

затем используйте operatorName в качестве DataIndex в Grid, потому что мои исходные данные еще сложнее с массивами и вложенными объектами режима, так что это означало бы, что мне нужно сгладить всю структуру данных.

1 Ответ

1 голос
/ 25 марта 2019

Вы можете использовать templatecolumn или рендерер в сетке, чтобы показать, что вам нужно.

Использование templatecolumn:

{
        text: 'Aircraft Name',
        tpl: '{aircraft.name}',
        xtype: 'templatecolumn'
}

Использование рендерера:

{
        text: 'Aircraft Name - Second Option',
        renderer: function (v, record) {
               return record.getAircraft() ? record.getAircraft().get('name') : null;
        }
}

Пример на скрипке: https://fiddle.sencha.com/#view/editor&fiddle/2qsm

...