【问题标题】:How to use grouping and aggregates on Slick Grid如何在 Slick Grid 上使用分组和聚合
【发布时间】:2013-04-09 00:58:42
【问题描述】:

我正在尝试了解分组和聚合如何与光滑网格一起使用。我有一些数据我想在树状结构中分组,有点像这个示例页面上的完成方式:

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

但是,我找不到任何有关 setGrouping 或确切聚合是什么的文档。这个页面没有任何文档,只有代码,没有关于代码的用途或使用方式的有用的 cmets。

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

例如,在这段代码中:

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 的用途,但聚合器的用途是什么?这实际上是在树视图中将它们组合在一起吗?我看不出百分比完成和成本在哪里发挥作用,因为它是按持续时间分组的。

【问题讨论】:

    标签: javascript jquery slickgrid


    【解决方案1】:

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

    ..., {id: "cost", name: "Cost", field: "cost", width: 90, sortable: true, groupTotalsFormatter: sumTotalsFormatter}, ...
    

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

    【讨论】:

    • 是否可以显示所有聚合?比如 sum 和 avg 以及 Min 或 Max 还是必须一次一个?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-17
    • 2018-11-05
    • 1970-01-01
    • 2017-08-08
    • 1970-01-01
    • 2012-11-04
    • 1970-01-01
    相关资源
    最近更新 更多