Kendo UI Grid - 绑定到导航属性

时间:2015-03-11 22:12:23

标签: javascript asp.net-web-api kendo-ui kendo-grid

我正在使用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对象中,但绑定无法正常工作。感谢。

1 个答案:

答案 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