Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Slickgrid:如何从分组中排除行。或者如何添加所有分组的总计行_Javascript_Slickgrid - Fatal编程技术网

Javascript Slickgrid:如何从分组中排除行。或者如何添加所有分组的总计行

Javascript Slickgrid:如何从分组中排除行。或者如何添加所有分组的总计行,javascript,slickgrid,Javascript,Slickgrid,例如: 这个例子只给出了每个分组级别的总计,我想得到所有分组的总计 如果我将总计添加为新行,它也会分组,我想将其排除在外。 是否有此选项?要控制数据聚合的行为,您必须实现自己的聚合器。可以在的源代码中看到内置聚合器的集合 如果您使用的是这些默认实现之一,那么您可以通过声明两个级别的数据分组来“破解”解决方案,最外层位于垃圾数据列上,该列的每个数据条目都具有相同的值。我不建议采用这种方法,但我想声明,如果没有完全定制的实现,“是”可能的 dataView.setGrouping([ {

例如:

这个例子只给出了每个分组级别的总计,我想得到所有分组的总计

如果我将总计添加为新行,它也会分组,我想将其排除在外。
是否有此选项?

要控制数据聚合的行为,您必须实现自己的聚合器。可以在的源代码中看到内置聚合器的集合

如果您使用的是这些默认实现之一,那么您可以通过声明两个级别的数据分组来“破解”解决方案,最外层位于垃圾数据列上,该列的每个数据条目都具有相同的值。我不建议采用这种方法,但我想声明,如果没有完全定制的实现,“是”可能的

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
 }]);
dataView.setGrouping([
{
getter:“myJunkColumn”,
格式化程序:函数(g){
返回“”;
},
聚合器:[新的Slick.Data.aggregators.Sum(“数据”)],
聚集聚集:false,
懒散:对
},
{
获得者:“年”,
格式化程序:函数(g){
返回“年份:“+g.value+”(“+g.count+”项目)”;
},
聚合器:[新的Slick.Data.aggregators.Sum(“数据”)],
聚集聚集:false,
懒散:对
}]);

我在下面做过类似的问题

   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);
}
我希望这能对你有所帮助