【问题标题】:ag grid : js : How to find which filter is appliedag grid : js : 如何找到应用了哪个过滤器
【发布时间】:2018-12-04 23:39:46
【问题描述】:

我的数据显示在 ag 网格中。 它有 4 列名称、年龄、运动并具有以下数据:-

data

现在当我根据 "sport" 过滤数据时,可以说取消选中 "blanks" 我得到以下数据: - filtered data

1)我的问题是如何获得哪个过滤器应用于列, 就像在这种情况下,“空白”应用于“运动”。

2)如果我使用刷新数据 api.setRowdata(),应用于列的过滤器丢失

【问题讨论】:

    标签: ag-grid


    【解决方案1】:

    1.如何获取哪个过滤器应用于列

    您可以使用gridApi.filterManager.allFilters获取它

    查看这个实时示例ag-grid: Built-In Filters - log the filters applied

    应用ageyear 过滤器,然后单击Log Filter 按钮。

    age: {column: Column, filterPromise: Promise, scope: null, compiledElement: null, guiPromise: {…}}
    年份:{column:列,filterPromise:承诺,范围:null,compiledElement:null,guiPromise:{…}}
    __proto__: 对象

    【讨论】:

      【解决方案2】:

      ag-grid@19.0.0 开始,到getset 您可以利用的所有已应用过滤器:

      const savedModel = gridApi.getFilterModel();
      gridApi.setFilterModel(savedModel);
      

      【讨论】:

        【解决方案3】:

        对于

        1. 如果我使用 api.setRowdata() 刷新数据,应用于列的过滤器将丢失

        我们可以对columnDefs 对象中的列使用以下设置:-

        filterParams: {
            newRowsAction: 'keep'
        } 
        

        【讨论】:

          猜你喜欢
          • 2019-07-28
          • 2020-06-08
          • 2019-04-12
          • 2020-06-12
          • 2016-06-15
          • 2022-10-17
          • 2019-04-20
          • 2022-10-13
          • 2022-10-25
          相关资源
          最近更新 更多