[英]Slickgrid: How to exclude a row from grouping. Or how do I add grandtotal row of all grouping
示例: http : //mleibman.github.io/SlickGrid/examples/example-grouping
此示例仅在每个分组级别提供总计,我想获取所有分组的总计。
如果我将总计添加为新行,它也会被分组,我想排除它。 有没有可用的选项?
我在类似的问题下面做了。
function filter(item) {
if (item["YourTotalColumnName"]) {
if (item["YourTotalColumnName"] == 'YOUR TOTAL WORD') {
return false;
}
}
return true;
}
function filterClear(item) {
return true;
}
当您将某物分组并清除分组时,您可以执行以下操作:
function groupBySomeColumn() {
dataView.setFilter(filter);
...
...
}
function clearGrouping() {
dataView.setGrouping([]);
dataView.setFilter(filterClear);
}
希望对您有帮助
要控制数据聚合的行为,您必须实现自己的聚合器。 可以在slick.dataview.js的源代码中看到一组内置的聚合器。
如果使用的是这些默认实现之一,则可以通过声明2个级别的数据分组来“破解”一个解决方案,其中最外层在一个垃圾数据列上,每个数据条目具有相同的值。 我不建议您采用这种方法,但想指出的是,如果没有完全自定义的实现,这是“可能的”。
dataView.setGrouping([
{
getter: "myJunkColumn",
formatter: function (g) {
return "";
},
aggregators: [ new Slick.Data.Aggregators.Sum("data") ],
aggregateCollapsed: false,
lazyTotalsCalculation: true
},
{
getter: "year",
formatter: function (g) {
return "Year(s): " + g.value + " <span style='color:green'>(" + g.count + " items) </span>";
},
aggregators: [ new Slick.Data.Aggregators.Sum("data") ],
aggregateCollapsed: false,
lazyTotalsCalculation: true
}]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.