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

C# Kendo MVC网格层次结构-从父Ienumerable属性生成的子网格,c#,razor,asp.net-mvc-5,kendo-grid,kendo-asp.net-mvc,C#,Razor,Asp.net Mvc 5,Kendo Grid,Kendo Asp.net Mvc,所以,我对剑道的使用非常陌生,我正在搞乱他们的MVC网格。我已经为服务器端分页和排序定义了一个带有ajax数据源的网格。ajax调用返回的对象具有IEnumerable属性。我想使用网格的分层功能将此集合显示为每行的子网格 我已经阅读了很多博客和Telerik关于分层网格的文档,我发现的每个示例都为子网格定义了一个客户机模板,客户机模板是一个网格,它通过单独的ajax调用来获取数据。 我不需要或不想单独调用子网格,因为我已经获得了父网格模型中所需的所有数据 有什么方法可以完成我想做的事情吗?所描

所以,我对剑道的使用非常陌生,我正在搞乱他们的MVC网格。我已经为服务器端分页和排序定义了一个带有ajax数据源的网格。ajax调用返回的对象具有IEnumerable属性。我想使用网格的分层功能将此集合显示为每行的子网格

我已经阅读了很多博客和Telerik关于分层网格的文档,我发现的每个示例都为子网格定义了一个客户机模板,客户机模板是一个网格,它通过单独的ajax调用来获取数据。 我不需要或不想单独调用子网格,因为我已经获得了父网格模型中所需的所有数据


有什么方法可以完成我想做的事情吗?

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

  • 主数据项应该有一个值为普通对象数组的字段——根据您所说的,您应该已经有了这个值
  • 主网格配置应该定义一个具有定义列、Ajax数据源和模型类型的子网格,但不绑定到任何特定数据(即没有
    Read()
    action)
  • 如果是主网格,则从主数据项(
    e.data
    )中删除嵌套数组,并通过将其分配给详图网格的实例


您可能会注意到上面示例中的用法。其目的是剥离嵌套特性数组中所有剑道UI特定的内容,并将其转换回普通对象的常规JavaScript数组。此步骤是可选的,但如果要将详图网格的数据与主网格中的数据解耦,则必须执行此步骤。

谢谢。这很有效。好奇的是,有没有一种方法可以在没有javascript函数的情况下为子网格设置数据源?到目前为止,我对网格所做的一切都是使用Razor中的fluent api,我想知道是否有办法解决这个问题。再次感谢。在您的场景中,需要对细节网格使用JavaScript,因为fluent API无法以声明方式定义细节网格数据和主数据项之间的关系。我感谢您的帮助。