如何在 ag-grid 中获取过滤行?
How to get filtered rows in ag-grid?
我有一个带过滤选项的 ag-Grid。
如何在ag-Grid中获取过滤后的行(不是选中的行)?
您可以为此使用 forEachNodeAfterFilter(callback) api 方法。
有关所有可用的 API 调用,包括各种 forEachXXX 方法,请参阅 https://www.ag-grid.com/javascript-grid-api。
这花了我很长时间,所以我在这里发帖。使用 onFilterChanged()
访问过滤后的行,或过滤+选择的行。传递给 onFilterChanged()
的事件可以像这样使用(Typescript React 中的示例)
onFilterChanged = ev => {
if (ev?.api?.rowModel?.rowsToDisplay) {
this.setState({ selectedRows: ev?.api?.rowModel?.rowsToDisplay.filter(node => node.isSelected()) });
}
};
基于@sean-landsman 的回答,下面是如何使用 forEachNodeAfterFilter(callback)
方法的示例:
let rowData = [];
gridApi.forEachNodeAfterFilter(node => {
rowData.push(node.data);
});
我有一个带过滤选项的 ag-Grid。
如何在ag-Grid中获取过滤后的行(不是选中的行)?
您可以为此使用 forEachNodeAfterFilter(callback) api 方法。
有关所有可用的 API 调用,包括各种 forEachXXX 方法,请参阅 https://www.ag-grid.com/javascript-grid-api。
这花了我很长时间,所以我在这里发帖。使用 onFilterChanged()
访问过滤后的行,或过滤+选择的行。传递给 onFilterChanged()
的事件可以像这样使用(Typescript React 中的示例)
onFilterChanged = ev => {
if (ev?.api?.rowModel?.rowsToDisplay) {
this.setState({ selectedRows: ev?.api?.rowModel?.rowsToDisplay.filter(node => node.isSelected()) });
}
};
基于@sean-landsman 的回答,下面是如何使用 forEachNodeAfterFilter(callback)
方法的示例:
let rowData = [];
gridApi.forEachNodeAfterFilter(node => {
rowData.push(node.data);
});