我正在使用Kendo UI网格,并显示模型的角色。每个模型都有一个导航属性,我试图显示此导航属性中存在的字段。
//schema for my kendo data source
schema: {
data: function (data) {
return data || [];
}
}
......................................................
$("#FAAFreqGrid").kendoGrid({
dataSource: FAADS,
columns: [
{ field: "Id", title: "Freq ID", format: "{0:c}", width: "120px" },
{ field: "Frequency", title: "Frequency Test" format: "{0:c}", width: "120px" },
{ field: "FREQ_POOL", title: "FAATEST", format: "{0:c}", width: "120px" },
{ command: ["edit", "destroy"], title: " ", width: "250px" }
],
toolbar: ["create"],
editable: "inline",
pageable: true
});
如果我转到我的Web API Url,我会得到一个json响应:
[{"$id":"1","Frequency":"164.1375","FREQ_POOL":{"$id":"2","IsAM":true,......etc}
FREQ_POOL是我的导航属性,它有我想要的数据。频率存在并正确显示在我的网格中。但是我的FREQ_POOL字段显示[object Object],如果我试着说“FREQ_POOL.IsAM”,它说没有定义IsAM。我无法将它绑定到任何可以绑定到任何其他非导航字段的属性。我该如何工作?数据存在于返回的JSON对象中,但绑定无法正常工作。感谢。
答案 0 :(得分:1)
您可以为相关列设置模板,如下所示:
$("#grid").kendoGrid({
columns: [ {
field: "name",
template: "<strong>#: name.first#, #: name.last# </strong>"
}],
dataSource: [ { name: { first: 'Jane', last: 'Doe' } }, { name: { first: "John", last: 'Doe' } } ]
});
然后可以使用模板在数据集中显示对象
更多信息,您可以找到here
对于编辑,您还可以定义单元格编辑器,使用额外的模板或函数,有关该信息的更多信息,您可以找到here。