如何在Slick Grid上使用分组和聚合

Tri*_*Man 4 javascript jquery slickgrid

我试图了解分组和聚合如何与光滑的网格一起工作.我有一些数据,我想在一个像树结构的树中分组如何在这个示例页面上完成它:

http://mleibman.github.io/SlickGrid/examples/example-grouping

但是,我找不到任何关于setGrouping的文档或者究竟聚合的文档.此页面没有任何文档,只有代码,没有关于代码的用途或如何使用的有用评论.

有谁知道这是一个很好的资源?谷歌也没有给我太多信息.

例如,在此代码中:

dataView.setGrouping({
getter: "duration",
formatter: function (g) {
  return "Duration:  " + g.value + "  <span style='color:green'>(" + g.count + " items)</span>";
},
aggregators: [
  new Slick.Data.Aggregators.Avg("percentComplete"),
  new Slick.Data.Aggregators.Sum("cost")
],
aggregateCollapsed: false
});
Run Code Online (Sandbox Code Playgroud)

我得到了getter和formatter的用途,但聚合器用于什么?这是实际上在树视图中将它们组合在一起的吗?我没有看到%Complete和成本在哪里发挥作用,因为它按持续时间进行分组.

ghi*_*ing 7

让我尝试以您理解的方式回答您,首先是定义......聚合是一组聚集在一起形成总数量的项目.有问题的总数可以是所有字段的总和,您可以定义的平均或其他类型的聚合器.因此,基本上它是按您选择的列重新组合的操作,并给出组的计算结果.好吧,现在它如何在SlickGrid的情况下工作?您需要定义要使用的聚合器类型(平均值,总和等等),定义它们将进行计算但是除非您将其附加到字段,否则不会显示任何内容,因此在示例中您找到了它将此绑定/绑定groupTotalsFormatter: sumTotalsFormatter到列定义非常重要,例如:

..., {id: "cost", name: "Cost", field: "cost", width: 90, sortable: true, groupTotalsFormatter: sumTotalsFormatter}, ...
Run Code Online (Sandbox Code Playgroud)

所以让我们回顾一下......一旦聚合器被定义new Slick.Data.Aggregators.Sum("cost"),它将进行计算,但除非它绑定到该字段,否则不会显示任何内容.作为额外选项,aggregateCollapsed(true/false)是在折叠时显示组内部或外部的小计(平均值,总和或其他).