Extjs 6-如何在网格中使用DataIndex来嵌套数据

时间:2019-03-23 18:13:28

标签: javascript json extjs grid

我在这里制造了一个小提琴。我的问题是如何为“飞机名称”和“运营人名称”列分配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作为Grid中的DataIndex,因为我的原始数据由于数组和模式嵌套对象而变得更加复杂,因此这意味着我需要展平整个Data结构。

1 个答案:

答案 0 :(得分:1)

您可以在网格中使用templatecolumn或renderer来显示所需的内容。

使用模板列:

{
        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