2015-08-20 2 views
1

Я пытаюсь выполнить цикл вложенного массива json для отображения значений в ячейке сетки (используя extjs 6.0).Как отобразить вложенный массив в ячейке сетки extjs

Вот столбец в представлении:

{ 
    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

+0

Можете ли вы привести пример того, что вы хотите, чтобы он выглядел в камере? Вы просто хотите список разделенных запятыми имен участников? – GreenGiant

+0

Да, список имен будет разделен запятыми – kimli

ответ

1

Если вы хотите отобразить специальное содержимое в ячейке, то вам необходимо реализовать renderer. В функции рендеринга вы будете перебирать своих участников для текущей строки, создавать и возвращать строку HTML на основе того, что вы хотите, чтобы эта ячейка выглядела.

+0

Вы правы. Вот мой рабочий визуализатор на основе кончика: \t рендерер: функция (значение, р, г) { \t \t { \t \t \t если (r.data.participants) { \t \t \t \t список вар = []; \t \t \t \t для (I = 0; г kimli

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