我正在使用AG Grid来显示客户端数据。在渲染任何数据之前,我需要应用一些预设过滤器。我正在通过setFilterModel
事件在gridApi上调用gridReady
来完成此操作,但是为时已晚。数据已经在此时渲染,因此在应用过滤器并再次删除行之前,我得到了所有简短显示的数据。
onGridReady(params) {
this.gridOptions.api.sizeColumnsToFit();
params.api.setFilterModel(this.filterModel);
}
在呈现任何数据之前,是否可以使用事件或访问网格API来设置过滤器模型的方法?
我创建了一个显示问题的Stackblitz演示。该演示仅显示了短暂的闪烁,但是使用自定义渲染器,更多列等刷新数据需要更长的时间。
谢谢
答案 0 :(得分:0)
使用onFirstDataRendered()方法:
<ag-grid-angular
(gridReady)="onGridReady($event)"
(firstDataRendered)="onFirstDataRendered()">
</ag-grid-angular>
private gridApi;
private gridColumnApi;
onGridReady(params: AgGridEvent) {
this.gridApi = params.api;
this.gridColumnApi = params.columnApi;
}
onFirstDataRendered() {
this.gridApi.setFilterModel(this.filterModel);
}