【问题标题】:ag-grid - How to get values which are selected by user for filteringag-grid - 如何获取用户选择的值进行过滤
【发布时间】:2019-08-31 18:09:55
【问题描述】:

在 ag-grid 中,我在每一列上启用了列过滤器。现在,当用户单击它时,它会显示一个复选框列表,其中包含该列下存在的所有不同值。

用户可以选择/取消选择值,网格会立即刷新过滤数据。我可以通过filterManager.allFilters 获取过滤器列名称,但我还需要用户选择的值进行过滤。我无法做到这一点。

【问题讨论】:

标签: angular ag-grid


【解决方案1】:

看看我创建的 plunk:Get applied values for filter

更改country 列的过滤器选择并检查控制台。

我正在使用filterChanged 事件。

我们在params.api.filterManager.allFilters.<column>.filterPromise中得到Promise,使用它,您可以通过以下方式识别它。

onFilterChanged(params) {
   if (!params.api.filterManager.allFilters.country) return;

   params.api.filterManager.allFilters.country.filterPromise.then((result) => {
    console.log('##### Selected Values #####')
    const values = result.virtualList.model.model.selectedValuesMap;
    const selectedValues = [];
    for(var key in values) {
      selectedValues.push(key);
    }
    console.log(selectedValues.join(', '));
  });
}

参考:Sort & Filter

【讨论】:

  • 完美的例子。让我试试这个解决方案,但我已经确定它会起作用。
猜你喜欢
  • 2022-10-13
  • 2020-10-04
  • 2017-09-18
  • 2017-09-18
  • 2019-02-28
  • 2016-09-26
  • 2018-10-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多