Kendo ui 剑道网格中的多列分组

Kendo ui 剑道网格中的多列分组,kendo-ui,kendo-grid,telerik-grid,Kendo Ui,Kendo Grid,Telerik Grid,我正在使用剑道网格显示一组记录。 但现在我想使用Aggregates属性对列进行分组并执行某些操作 列上的聚合函数 根据下面的文档,我可以在单个列上应用分组,但我想在多个列上进行分组 请建议我怎么做 谢谢您需要将网格数据源的选项设置为数组。以下是一些示例代码: <div id="grid"></div> <script> var dataSource = new kendo.data.DataSource({ data: [

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

根据下面的文档,我可以在单个列上应用分组,但我想在多个列上进行分组

请建议我怎么做

谢谢

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

  <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>

var dataSource=new kendo.data.dataSource({
数据:[
{名称:“猪肉”,类别:“食品”,子类别:“肉”},
{名称:“胡椒”,类别:“食品”,子类别:“蔬菜”},
{名称:“牛肉”,类别:“食品”,子类别:“肉”}
],
组:[
//按“类别”分组,然后按“子类别”分组
{字段:“类别”},
{字段:“子类别”},
]
});
$(“#网格”).kendoGrid({
数据源:数据源
});

这里是一个现场演示:

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

在数据源中,模型和分组配置可能如下所示

  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集成更新
如果在ASP.NET MVC中使用AJAX数据源对序列化对象执行此操作,请注意分组对象必须具有值语义(覆盖
Equals
并实现
=
/
!=
)以及在组中实现
IComparable

,我试图提到多个字段对象,但是在呈现网格时,它将最后一个提到的字段分组。您能编辑问题以包含代码吗?非常感谢!!这太完美了,效果非常好。有没有可能是一组,而不是“那么”?谢谢MVC提示谢谢!!对于作为类对象的列,MVC的最后一部分非常重要。尽管记住不要在
==
的覆盖范围内使用
==
,否则会得到无限递归!所以你需要这样的东西: