【问题标题】:Using SlickGrid Aggregation/ Sum of a column使用 SlickGrid 聚合/列的总和
【发布时间】:2012-06-12 15:43:18
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: sum slickgrid aggregation aggregator


    【解决方案1】:

    首先请注意,显示总计仅适用于小计(您拥有的组的小计),我不相信总计尚未实施...尽管如果您确实想要小计每组的总数,您必须定义 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 "";
    }
    

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

    【讨论】:

    • 当我这样做时,我发现 dataview 没有找到
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-22
    • 1970-01-01
    • 1970-01-01
    • 2015-12-25
    • 2012-05-04
    • 2013-06-10
    • 2015-06-09
    相关资源
    最近更新 更多