2016-07-25 3 views
0

Я новый с кендо, и у меня проблема с сеткой кендо. У меня есть структура как этотОтображение объекта внутри объекта в сетке кендо

var data = [{ 
    key1: value1, 
    key2: value2, 
    objectInside: [{ 
     insideKey1: insideValue1, 
     insideKey2: insideValue2, 
     insideKey3: insideValue3 
    }, 
    { 
     insideKey1: insideValue1a, 
     insideKey2: insideValue2a, 
     insideKey3: insideValue3a 
    }, 
    { 
     insideKey1: insideValue1b, 
     insideKey2: insideValue2b, 
     insideKey3: insideValue3b 
    }] 
}]; 

и мне нужно создать кендо сетку и залейте его objectInside элементов. На данный момент я могу отобразить один из элементов массива:

var grid = $("#grid").kendoGrid({ 
    pageable: true, 
    selectable: "row", 
    dataSource: data 
    columns : [ 
     { field: "objectInside.insideKey1[0]", title: "Value1:" }, 
     { field: "objectInside.insideKey2[0]", title: "Value2:" }, 
     { field: "objectInside.insideKey3[0]", title: "Value3:" } 
    ] 
}).data("kendoGrid"); 

Но у меня нет идеи, как достичь всех элементов. Без индексации это не сработает. Здесь можно сделать цикл? Я думал о создании другой переменной, содержащей только objectInside и пытаюсь прочитать только этот элемент, но я тоже здесь не смог. Я пытаюсь сделать это следующим образом:

var newData = data.objectInside; 

или

var newData = JSON.stringify(data.objectInside); 

Может кто-нибудь дать мне подсказку, как справиться с этим?

ответ

1

Попробуйте template:

{ template: "#= data.objectInside[0].insideKey1 #", title: "Value1" }, 
{ template: "#= data.objectInside[1].insideKey2 #", title: "Value2" }, 
{ template: "#= data.objectInside[2].insideKey3 #", title: "Value3" } 

Demo

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

+0

Большое спасибо! :) – sebac13

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