如何在extjs网格单元格中显示嵌套数组

时间:2015-08-20 20:51:23

标签: javascript json extjs

我正在尝试循环嵌套的json数组以在网格单元格中显示值(使用extjs 6.0)。

以下是视图中的列:

{
    header: 'Participants',
    dataIndex: 'participants'   
},

模特:

Ext.define('App.model.Event', {
    extend: 'Ext.data.Model',

    fields: [

        { name: 'eventTypeName', type: 'auto', mapping: 'eventType.eventType' },

        // this only grabs the first object in the list....how to grab all?
        { name: 'participants', type: 'auto', mapping: 'participants[0].participantName' },


    ]
});

和json:

{
  "_embedded" : {
    "events" : [ {
      "participants" : [ {
        "participantId" : 1,
        "participantName" : "name1"
      }, {
        "participantId" : 2,
        "participantName" : "name2"
      }, {
        "participantId" : 3,
        "participantName" : "name3"
      } ],

    }
  }
}

网格中的行是事件,每个事件行都有多个参与者,我想在单元格中显示。如何将所有参与者名称显示在单个单元格中?

我尝试使用hasMany方法尝试与此帖相似的内容,但无济于事:https://www.sencha.com/forum/showthread.php?205509-Displaying-a-hasMany-model-relationship-in-a-Grid&p=822648&viewfull=1#post822648

1 个答案:

答案 0 :(得分:1)

如果要在单元格中显示特殊内容,则需要实现renderer。在渲染器函数中,您将遍历参与者的当前行,根据您希望该单元格的外观构建并返回HTML字符串。