ag-grid 如果过滤器为空则不显示任何数据

ag-grid if filters are empty show no data

我正在使用 ag-grid 免费版 AngularJS。

是否可以只在任何过滤器有内容时显示行数据? 我已经阅读了所有文档,显然还有 gridoptions,但我一无所获。

按照以下步骤进行操作。

  1. 使用 (filterChanged)="onFilterChanged($event)" 事件,您可以确定过滤器是否已应用。

代码:

onFilterChanged(params){
  let filters = params.api.filterManager.allFilters;
  this.filterEnabled = false;
  for(var key in filters) {
    if(filters[key].column.filterActive) {
      this.filterEnabled = true;
      break;
    }
  }
}
  1. 在事件中设置一个标志filterEnabled,用它来决定是否显示数据。 [rowData]="filterEnabled && rowData"

您可以找到有效的 plunk 示例:ag-grid - don't show data if filter is enabled

PS:这个解决方案有一个问题:您需要输入过滤器字符串两次才能启用过滤器。但我希望你能从中得到帮助。