【问题标题】:Multi column grouping in Kendo GridKendo Grid 中的多列分组
【发布时间】:2015-11-27 21:07:10
【问题描述】:

我正在使用剑道网格来显示一组记录。 但现在我想使用 Aggregates 属性对列进行分组并执行某些 列上的聚合函数。

根据以下文档,我可以在单列上应用分组,但我想在多列上进行分组 http://demos.telerik.com/kendo-ui/grid/aggregates

请建议我如何实现它。

谢谢

【问题讨论】:

  • 在组中,我尝试提及多个字段对象,但在渲染网格时,它将最后提到的字段分组。
  • 您能否编辑问题以包含代码?

标签: kendo-ui kendo-grid telerik-grid


【解决方案1】:

您需要将网格的数据源的group 选项设置为数组。下面是一些示例代码:

  <div id="grid"></div> 
  <script>
    var dataSource = new kendo.data.DataSource({
      data: [
        { name: "Pork", category: "Food", subcategory: "Meat" },
        { name: "Pepper", category: "Food", subcategory: "Vegetables" },
        { name: "Beef", category: "Food", subcategory: "Meat" }
      ],
      group: [
        // group by "category" and then by "subcategory"
        { field: "category" },
        { field: "subcategory" },
      ]
    });
    $("#grid").kendoGrid({
      dataSource: dataSource
    });
  </script>

这是一个现场演示:http://dojo.telerik.com/@korchev/OBAva

【讨论】:

  • 非常感谢!!这非常完美,效果很好
  • 嗨。是否可以组合在一起,而不是“那么”?谢谢
【解决方案2】:

因为它被问过,并且暗示在问题标题中:可以“一起”分组而不是分层。它需要更改数据模型,以便将所有分组列放在一个对象中。

在数据源中,模型和分组配置可能看起来像

  data: [
    { name: "Pork", cat_group: { category: "Food", subcategory: "Meat" } },
    { name: "Pepper", cat_group: { category: "Food", subcategory: "Vegetables" } },
    { name: "Beef", cat_group: { category: "Food", subcategory: "Meat" } }
  ],
  group: [
    // group by "category" and "subcategory" together
    { field: "cat_group" },
  ]

更新用于 MVC 集成:

如果这是通过使用 AJAX 数据源的 ASP.NET MVC 中的序列化对象完成的,请注意分组对象必须具有值语义(覆盖 Equals 并实现 ==/!=)以及实现 @ 987654327@.

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多