当前位置 : 主页 > 手机开发 > 其它 >

使用SlickGrid聚合/列的总和

来源:互联网 收集:自由互联 发布时间:2021-06-22
我只是想总结一列并在表格的底部显示总数.从查看示例看,使用聚合器似乎是最好的方法.但是,当我简单地添加 dataView.setAggregators([ 新的Slick.Data.Aggregators.Sum(“value”) ],false); 什么都没发
我只是想总结一列并在表格的底部显示总数.从查看示例看,使用聚合器似乎是最好的方法.但是,当我简单地添加

dataView.setAggregators([
    新的Slick.Data.Aggregators.Sum(“value”)
  ],false);

什么都没发生.我已经尝试了几个小时来让一个简单的聚合器基于分组示例工作,但分组示例太复杂了,我无法准确地告诉我需要什么.

编辑:替代修复:
对于其他任何人,我最终没有使用聚合器.这些数据在Javascript中可用,这使得生活变得更加容易.总计可以从那里计算出来.

首先请注意,显示总作品仅为小计(您所拥有的小组的总分),我不相信大总计尚未实施…虽然如果你确实想要每个小计组,你必须定义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 "";
}

如果你遗漏了这些行中的任何一行,你将看不到任何显示的内容,这是正常的

网友评论