首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Slick Grid上使用分组和聚合

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

Stack Overflow用户
提问于 2013-04-16 22:46:39
回答 1查看 6.6K关注 0票数 4

我正在尝试理解分组和聚合是如何与平滑网格一起工作的。我有一些数据,我想在树形结构中进行分组,就像在这个示例页面上做的那样:

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

但是,我找不到任何关于setGrouping的文档,也找不到关于聚合到底是什么的文档。这个页面没有任何文档,只有代码,没有关于代码的用途或如何使用的有用注释。

有没有人知道这方面的好资源?谷歌也没有给我太多信息。

例如,在下面的代码中:

代码语言:javascript
复制
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
});

我知道getter和formatter是用来做什么的,但是聚合器是用来做什么的呢?这就是在树视图中将它们组合在一起的真正原因吗?我看不出percentComplete和cost在哪里起作用,因为它是按持续时间分组的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-17 02:22:17

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

代码语言:javascript
复制
..., {id: "cost", name: "Cost", field: "cost", width: 90, sortable: true, groupTotalsFormatter: sumTotalsFormatter}, ...

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

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16040140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档