在 Kendo Grid 的单个列中发布数据列表

Posting a list of data in a single col in Kendogrid

我想在我的网格中做这样的事情......这基本上是我目前所拥有的:

     @(Html.Kendo().Grid(Model)
                        .Name("childgrid_#=ParentId#")
                        .Columns(columns =>
                        {
                            columns.Bound(o => o.Object1Name).Title("Message Types").Width(200);
                            columns.Bound(p => 
                            foreach(Object2 obj2 in Object2Props)
                            {
                                obj.Object2Id
                                obj2.Object2Name
                            }
                            ).ClientTemplate("#=ParentId#");
                        })
....

我的视图模型:

public class Object1
    {
        public int Object1Id{ get; set; }
        public string Object1Desc { get; set; }

        public List<Object2> Object2Props{ get; set; }


    }

    public class Object2
    {
        public int Object2Id { get; set; }
        public string Object2Name { get; set; }
    }

这能做到吗?如果是这样怎么办?谢谢!

你可以使用服务器端 Template(),像这样:

columns.Template(@<text>
    <table>
    @foreach(var i in item.Object2Props)
    {
        <tr>
            <td>@i.Object2Id</td>
            <td>@i.Object2Name</td>
        </tr>
    }
    </table>
</text>);

或客户端模板:

columns.Template(p => { }).ClientTemplate("#=templateFunction(data)#");

其中 templateFunction 是 return 构造的 html 的 javascript 函数,参数 data 是相应行的数据项:

<script>
function templateFunction(data)
{
    return ....;
}
</script>