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

标签 javascript jquery slickgrid

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

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

但是,我找不到任何关于 setGrouping 或聚合到底是什么的文档。此页面没有任何文档,只有代码,没有关于代码用途或使用方式的有用评论。

有人知道这方面的好资源吗? 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 的用途,但聚合器的用途是什么?这实际上是在 TreeView 中将它们组合在一起的吗?我看不到 percentComplete 和 cost 在哪里发挥作用,因为它是按持续时间分组的。

最佳答案

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

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

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

关于javascript - 如何在 Slick Grid 上使用分组和聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16040140/

相关文章:

javascript - Javascript 中的 jQuery POST 显示错误

jquery - 多个自动完成调用 - jQuery

html - polymer 造型元素

javascript - Slickgrid,带有下拉选择列表的列?

javascript - 鼠标悬停完成后如何关闭切换?

javascript - 在 native react 中从左向右滑动显示上一张卡片

javascript - 当用户在 this.emit (":ask",语音)之后没有向 Alexa 输入任何内容时,我该如何解释?

jquery - 循环访问具有相同类的克隆输入

tree - 使用 slickgrid 树时对数据进行排序

javascript - multipart/form-data 请求的文件部分的内容类型被客户端设置错误