2013-10-24 3 views

ответ

2

Причина вы видите [object Object] потому, что address имеет объект типа и вы передаете его в ячейку, которая будет преобразовать его в строку . И, таким образом, ячейка заполняется строковым представлением объекта, который в этом случае равен [object Object].


Пример 1:

function formatAddress(address){ 
    return address.street + ' ' + address.phone; 
} 

var grid = $("#grid").kendoGrid({ 
    dataSource: { 
     pageSize: 20, 
     data: createRandomData(50) 
    }, 
    pageable: true, 
    height: 430, 
    columns: [ 
     { field: "FirstName", title: "First Name", width: "140px" }, 
     { field: "LastName", title: "Last Name", width: "140px" }, 
     // `formatAddress` will be called from the global variable scope like eval() usually does 
     { field: "Address", template: "#= formatAddress(data) #" } 
    ] 
}).data("kendoGrid"); 


Пример 2: (MVVM)

<div id="grid" data-role="grid" data-bind="source: gridSource" 
    data-columns='[{field:"FirstName",title:"First Name"}, {field:"LastName",title:"Last Name"}, {field:"Address",template:"#= formatAddress(data) #"}]'> 
</div> 
+0

Вопрос заключается в том, что данные случайным образом, и я не могу предсказать столбцы. Я читаю данные с удаленного устройства и показываю их на сетке. – nish

+0

Что вы подразумеваете под * random *? Ячейки сетки являются случайными или полями объекта «адрес»? –

+0

Я не могу предопределить столбцы для сетки, также я не могу предсказать, является ли любая ячейка строкой или объектом json. – nish

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