【发布时间】:2018-12-04 23:39:46
【问题描述】:
我的数据显示在 ag 网格中。 它有 4 列名称、年龄、运动并具有以下数据:-
现在当我根据 "sport" 过滤数据时,可以说取消选中 "blanks" 我得到以下数据: - filtered data
1)我的问题是如何获得哪个过滤器应用于列, 就像在这种情况下,“空白”应用于“运动”。
2)如果我使用刷新数据 api.setRowdata(),应用于列的过滤器丢失
【问题讨论】:
标签: ag-grid
我的数据显示在 ag 网格中。 它有 4 列名称、年龄、运动并具有以下数据:-
现在当我根据 "sport" 过滤数据时,可以说取消选中 "blanks" 我得到以下数据: - filtered data
1)我的问题是如何获得哪个过滤器应用于列, 就像在这种情况下,“空白”应用于“运动”。
2)如果我使用刷新数据 api.setRowdata(),应用于列的过滤器丢失
【问题讨论】:
标签: ag-grid
1.如何获取哪个过滤器应用于列
您可以使用gridApi.filterManager.allFilters获取它
查看这个实时示例ag-grid: Built-In Filters - log the filters applied。
应用age 和year 过滤器,然后单击Log Filter 按钮。
age: {column: Column, filterPromise: Promise, scope: null, compiledElement: null, guiPromise: {…}}
年份:{column:列,filterPromise:承诺,范围:null,compiledElement:null,guiPromise:{…}}
__proto__: 对象
【讨论】:
从ag-grid@19.0.0 开始,到get 或set 您可以利用的所有已应用过滤器:
const savedModel = gridApi.getFilterModel();
gridApi.setFilterModel(savedModel);
【讨论】:
对于
- 如果我使用
api.setRowdata()刷新数据,应用于列的过滤器将丢失
我们可以对columnDefs 对象中的列使用以下设置:-
filterParams: {
newRowsAction: 'keep'
}
【讨论】: