5

我只是想对一列求和并在表格底部显示总数。从查看示例看来,使用聚合器似乎是做到这一点的最佳方式。但是,当我简单地添加

dataView.setAggregators([ new Slick.Data.Aggregators.Sum("value") ], false);

什么都没发生。我已经尝试了几个小时,只是为了让一个基于分组示例的简单聚合器工作,但是分组示例太复杂了,我无法准确说出我需要什么。

编辑:替代修复:对于其他人来说,我最终没有使用聚合器。这些数据以 Javascript 形式提供,这使生活变得更加轻松。可以从那里计算总数。

4

1 回答 1

4

首先请注意,仅显示小计(您拥有的组的小计)的总作品,我不相信总计尚未实施......尽管如果您确实想要每个小计组,您必须定义 3 个代码区域,而不仅仅是 1 个

首先,您像以前一样声明聚合器

dataView.setAggregators([ new Slick.Data.Aggregators.Sum("value") ], false);

第二,您还需要将它(要显示的功能)附加到您的列中groupTotalsFormatter

var columns = [
  ...
  {id: "cost", name: "Cost", field: "cost", width: 90, sortable: true, groupTotalsFormatter: sumTotalsFormatter}
];

最后定义函数来显示它并用你想要显示的内容对其进行编码

function sumTotalsFormatter(totals, columnDef) {
  var val = totals.sum && totals.sum[columnDef.field];
  if (val != null) {
    return "total: " + val;
  }
  return "";
}

如果您缺少这些行中的任何一行,您将看不到任何显示,这是正常的

于 2013-04-15T14:10:07.190 回答