You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ag-grid分组后如何基于父节点聚合值实现结果筛选

你需要调整ag-grid的两项核心配置即可实现按父节点聚合值筛选:

  • 首先在网格全局配置中开启 groupAggFiltering 开关,该配置会让筛选逻辑纳入分组父节点的聚合值计算,而非仅检测叶子节点数值
    const gridOptions = {
      // 你的其他原有配置
      groupAggFiltering: true
    }
    
  • 然后在对应聚合列的列定义中添加filterValueGetter,指定筛选时优先读取分组节点的聚合结果:
    const columnDefs = [
      {
        field: 'gold',
        aggFunc: 'sum', // 你的原有聚合配置
        filter: 'agNumberColumnFilter',
        filterValueGetter: params => {
          // 分组父节点取聚合后的值
          if (params.node.group) return params.node.aggData.gold;
          // 叶子节点取原始值
          return params.data.gold;
        },
        // 如果你使用的是下拉Set筛选器,需要自定义筛选选项为聚合值的话可加以下参数
        filterParams: {
          values: params => {
            const allAggValues = [];
            params.api.forEachNode(node => {
              if (node.group && node.aggData?.gold) {
                allAggValues.push(node.aggData.gold);
              }
            });
            // 去重后返回作为筛选选项
            return [...new Set(allAggValues)];
          }
        }
      },
      // 其他列定义
    ]
    

配置完成后数值筛选器即可识别分组的聚合值,你直接设置筛选条件为>10就能过滤出金牌总和大于10的国家分组。

内容的提问来源于stack exchange,提问作者Roberto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 17:54:03