我正在尝试理解分组和聚合是如何与平滑网格一起工作的。我有一些数据,我想在树形结构中进行分组,就像在这个示例页面上做的那样:
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
});我知道getter和formatter是用来做什么的,但是聚合器是用来做什么的呢?这就是在树视图中将它们组合在一起的真正原因吗?我看不出percentComplete和cost在哪里起作用,因为它是按持续时间分组的。
发布于 2013-04-17 02:22:17
让我试着用一种你能理解的方式回答你,首先是一个定义...聚合是聚集在一起以形成总量的项目的集合。所讨论的总数可以是所有字段的总和、平均值或您可能定义的其他类型的聚合器。因此,基本上它是根据您选择的列进行重新分组的操作,并给出组的计算结果。好了,在SlickGrid的情况下,它是如何工作的?您需要定义要使用的聚合器类型(Avg、Sum等),定义它们将执行计算,但除非将其附加到字段,否则不会显示任何内容,因此在示例中,您发现将此groupTotalsFormatter: sumTotalsFormatter附加/绑定到列定义非常重要,例如:
..., {id: "cost", name: "Cost", field: "cost", width: 90, sortable: true, groupTotalsFormatter: sumTotalsFormatter}, ...让我们回顾一下..。一旦聚合器被定义为new Slick.Data.Aggregators.Sum("cost"),它将执行计算,但除非绑定到字段,否则不会显示任何内容。作为一个额外的选项,aggregateCollapsed (true/false)是在您折叠时显示组内或组外的小计(平均值、总和或其他值)。
https://stackoverflow.com/questions/16040140
复制相似问题