Aggrid如何在rowData更改后如何触发forEachNodeAfterFilter而不更改过滤器字符串

时间:2019-02-27 13:28:35

标签: ag-grid

我有一个自定义标签,其中显示了过滤的行数(“当前显示y个结果中的x个”)。 当我更改过滤器字符串时,它会很好用,因为我使用

(filterChanged)="onFilterChanged($event)"

在我的ts文件中:

onFilterChanged() {
    let filteredRowCount = 0;
    this.gridApi.forEachNodeAfterFilter(() => {
        filteredRowCount++;
    });
    this.numberToShow = filteredRowCount;
}

(我绑定到的变量是numberToShow)。

我有一个刷新按钮,该按钮使this.rowData得到更新。如果用户应用了过滤器并刷新了数据,我将无法通过编程方式知道当前显示了多少行。

有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以通过在每个列的newRowsAction: 'keep'中使用filterParams来解决此问题。
然后,在点击刷新按钮时,您应该添加

if (this.gridApi.isAnyFilterPresent()) {
  this.gridApi.onFilterChanged() 
}

这应该强制触发您的filterChanged逻辑

相关问题