我有一个带有过滤选项的ag-Grid。
如何在ag-Grid中获取已过滤的行(而非选定的)?
答案 0 :(得分:4)
您可以使用forEachNodeAfterFilter(回调)api方法。
有关所有可用的API调用,请参阅https://www.ag-grid.com/javascript-grid-api,包括各种forEachXXX方法。
答案 1 :(得分:2)
根据@sean-landsman 的回答,以下是如何使用 forEachNodeAfterFilter(callback)
方法的示例:
let rowData = [];
gridApi.forEachNodeAfterFilter(node => {
rowData.push(node.data);
});
答案 2 :(得分:1)
这花了我永远,所以我在这里发布。使用onFilterChanged()
访问已过滤的行或已过滤+选定的行。传递给onFilterChanged()
的事件可以像这样使用(Typescript React中的示例)
onFilterChanged = ev => {
if (ev?.api?.rowModel?.rowsToDisplay) {
this.setState({ selectedRows: ev?.api?.rowModel?.rowsToDisplay.filter(node => node.isSelected()) });
}
};