【发布时间】:2017-09-18 10:06:09
【问题描述】:
我有一个带有过滤选项的ag-Grid。
如何在ag-Grid中获取过滤后的行(不是选中的)?
【问题讨论】:
标签: javascript ag-grid
我有一个带有过滤选项的ag-Grid。
如何在ag-Grid中获取过滤后的行(不是选中的)?
【问题讨论】:
标签: javascript ag-grid
您可以为此使用 forEachNodeAfterFilter(callback) api 方法。
请参阅https://www.ag-grid.com/javascript-grid-api 了解所有可用的 API 调用,包括各种 forEachXXX 方法。
【讨论】:
这花了我很长时间,所以我在这里发帖。使用 onFilterChanged() 访问过滤后的行,或过滤后的 + 选定行。传递给onFilterChanged() 的事件可以这样使用(Typescript React 中的示例)
onFilterChanged = ev => {
if (ev?.api?.rowModel?.rowsToDisplay) {
this.setState({ selectedRows: ev?.api?.rowModel?.rowsToDisplay.filter(node => node.isSelected()) });
}
};
【讨论】:
rowModel 是私有的,所以这可能会在未来的版本中改变。
以@sean-landsman 的回答为基础,以下是如何使用forEachNodeAfterFilter(callback) 方法的示例:
let rowData = [];
gridApi.forEachNodeAfterFilter(node => {
rowData.push(node.data);
});
【讨论】: