I have an ag-Grid with filtering option.
How to get the filtered rows (not the selected) in ag-Grid?
You can use the forEachNodeAfterFilter(callback) api method for this.
See https://www.ag-grid.com/javascript-grid-api for all available API calls, including the various forEachXXX methods.
Building off @sean-landsman's answer, here's an example of how to use the forEachNodeAfterFilter(callback)
method:
let rowData = [];
gridApi.forEachNodeAfterFilter(node => {
rowData.push(node.data);
});
This took me forever so I'm posting here. Use onFilterChanged()
to access the filtered rows, or the filtered + selected rows. The event passed to onFilterChanged()
can be used like so (example in Typescript React)
onFilterChanged = ev => {
if (ev?.api?.rowModel?.rowsToDisplay) {
this.setState({ selectedRows: ev?.api?.rowModel?.rowsToDisplay.filter(node => node.isSelected()) });
}
};
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With