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

时间:2018-09-07 10:16:17

标签: ag-grid

我正在使用AG网格企业来显示我的数据。我为每列都有过滤器。我想显示过滤器下拉列表中每个过滤器元素的数量。请帮忙。就像过滤器显示“国家/地区”列中只有我们和加拿大一样,我想在这些过滤器元素旁边的括号内显示我们和加拿大的频率

1 个答案:

答案 0 :(得分:0)

  

更新:添加了工作示例

filterParams: { cellRenderer: "countryFilterRenderer"}

countryFilterRenderer(params) {
  let count = this.rowData.filter(i=>i.country.name==params.value).length;
  return `${params.value}(${count})`;
}

rowData:[{country:{name:..., code:...}];

rowData的定义只是为了清楚起见。

有关更多信息,请查看doc和示例,并查看官方demosources

  

更新:添加了热点数据示例

一旦我们需要数据-与sortingfiltering相关,我们就can use API methodsforEachNodeAfterFilterforEachNodeAfterFilterAndSortgetDisplayedRowCount

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})`;
}

https://plnkr.co/edit/bCI0SJ(检查国家和地区过滤器)

每次从plnkr过滤器中选择\取消选择任何内容后,每次sport过滤器中的country过滤器计数都会重新计算

  

更新:通过cellRenderer

处理热更改

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