Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.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
Ag grid 在网格处的每个过滤器旁边显示行数_Ag Grid - Fatal编程技术网

Ag grid 在网格处的每个过滤器旁边显示行数

Ag grid 在网格处的每个过滤器旁边显示行数,ag-grid,Ag Grid,我正在使用AG grid enterprise显示我的数据。我为每一列设置了过滤器。我想显示过滤器下拉列表中每个过滤器元件的计数。请帮忙。这就像如果过滤器显示国家栏中只有美国和加拿大,我想在这些过滤器元件旁边的括号内显示美国和加拿大的频率 更新:添加了工作示例 rowData定义仅为清晰起见 有关更多信息,请查看样品,并与官方联系 更新:添加了热数据示例 一旦我们需要与排序或筛选相关的数据,我们:forEachNodeAfterFilter,forEachNodeAfterFilterAndSo

我正在使用AG grid enterprise显示我的数据。我为每一列设置了过滤器。我想显示过滤器下拉列表中每个过滤器元件的计数。请帮忙。这就像如果过滤器显示国家栏中只有美国和加拿大,我想在这些过滤器元件旁边的括号内显示美国和加拿大的频率

更新:添加了工作示例

rowData
定义仅为清晰起见

有关更多信息,请查看样品,并与官方联系

更新:添加了热数据示例

一旦我们需要与
排序
筛选
相关的数据,我们:
forEachNodeAfterFilter
forEachNodeAfterFilterAndSort
getDisplayedRowCount

sportFilterRenderer(params){
    let count;
    if(this.gridApi.getDisplayedRowCount() != this.rowData.length){
      count = 0;
      this.gridApi.forEachNodeAfterFilter(node=>{
        if(node.data.sport == params.value)
          count++;
      })
    }
    else{
        count = this.rowData.filter(i=>i.sport==params.value).length;
    }
    return `${params.value}(${count})`;
}
(检查国家/地区和运动型滤清器)

在样本
plnkr
count in
sport
中,一旦您从
country
过滤器中选择\取消选择任何内容,将重新计算过滤器

更新:通过
cellRenderer处理热更改


因此,
ag grid
团队注意到了这个问题,他们在
backlock
-之前-没有办法像我们尝试的那样处理您的需求。您可以找到一个问题(AG-2078)

对不起,我没有看到。比如说,我有两个专栏,国家和城市。当我点击filter按钮时,它会在country栏中显示US(20)和UK(10)。我如何计算每种类型数据的频率?“有循环机制吗?”当我点击某列过滤器上的“过滤器”按钮时。请提供一个示例数据或fiddler,我会尽力提供帮助。我指的是国家栏过滤器。我的网格有两列,国家和城市。我使用的是AG网格企业。一行将有一个国家和城市的名称。当我点击“国家”列的“筛选”按钮时,筛选值(每个国家的名称)应该包含该国家在网格中出现的次数。我想要这样的值:非常感谢,它起了作用。对不起,我是AG网格的新手。
sportFilterRenderer(params){
    let count;
    if(this.gridApi.getDisplayedRowCount() != this.rowData.length){
      count = 0;
      this.gridApi.forEachNodeAfterFilter(node=>{
        if(node.data.sport == params.value)
          count++;
      })
    }
    else{
        count = this.rowData.filter(i=>i.sport==params.value).length;
    }
    return `${params.value}(${count})`;
}