Kendo MVC网格层次结构 - 从父Ienumerable属性生成的子网格

时间:2016-09-22 20:55:01

标签: c# razor asp.net-mvc-5 kendo-grid kendo-asp.net-mvc

所以,我使用Kendo是一个非常新的,我正在弄乱他们的mvc网格。我已经定义了一个带有ajax数据源的网格,用于服务器端分页和排序。 ajax调用返回的对象具有IEnumerable属性。我想使用Grid的分层功能将此集合显示为每行的子网格。我已经阅读了很多博客和Telerik关于分层网格的文档,我发现的每个例子都定义了子网格的客户端模板,而客户端模板是一个网格,它通过单独的ajax调用来获取其数据。我不需要或想要单独调用子网格,因为我已经在模型中获得了父网格所需的所有数据。有没有办法可以完成我想做的事情?

1 个答案:

答案 0 :(得分:1)

所描述的场景可以像这样实现:

  • 主数据项应该有一个值为普通对象数组的字段 - 根据您的说法,您应该已经拥有该字段。
  • 主网格配置应该定义client detail template,其子网格具有已定义的列,Ajax数据源和模型类型,但不绑定任何特定数据(即没有Read()动作)。
  • 在主网格的detailInit事件中,get()来自主数据项(e.data)的嵌套数组,并通过data()将其分配给详细网格& #39; s dataSource实例。

http://dojo.telerik.com/iLAza

您可能会注意到上面示例中toJSON()的使用情况。其目的是剥离所有Kendo-UI特定ObservableObject内容的嵌套Features数组,并将其转换回普通JavaScript对象的常规JavaScript数组。此步骤是可选的,但如果要将详细网格的数据与主网格中的数据分离,则必须执行此步骤。