将集合/列表绑定到kendo mvc网格列

时间:2018-04-12 15:55:37

标签: telerik kendo-grid kendo-asp.net-mvc telerik-mvc

我正在尝试将注释列表绑定到列,但它不会显示任何内容。我使用内联客户端模板来快速测试它,但没有运气。我肯定知道模型中有注释,但似乎认为注释未定义或为null。以下是我的代码:

    @{
    var grid = Html.Kendo().Grid(Model)
        .Name("grid")
        .Columns(columns =>
        {
            columns.Bound(l => l.Name);
            columns.Bound(l => l.Description);
            columns.Bound(l => l.Comments).ClientTemplate("# if(Comments) { for(var i=0; i<Comments.length; i++) {# #=Comments[i].Comment# #}}# ").Title("Comments");

        })
        .HtmlAttributes(new { style = "height: 850px;" })
        .Sortable()
        .Scrollable(scr => scr.Height(430))
        .Filterable()
        .DataSource(dataSource => dataSource
            .Ajax()
            .ServerOperation(false)
         );
    grid.Render();
}

1 个答案:

答案 0 :(得分:1)

我建议创建一个JavaScript函数并在客户端模板中调用它。此外,它将更容易调试。

function displayComments(data) {
    return $.map(data.Comments, function (e) { return e.Comment; }).join(", ");
}

在你的网格中:

columns.Bound(l => l.Comments).ClientTemplate("#= displayComments(data) #").Title("Comments");