加载网格后无法更改 overlayNoRowsTemplate

Cannot change overlayNoRowsTemplate after grid loaded

没有行可显示有两种不同的情况。而且每次都想根据情况改模板。 我正在更新 overlayNoRowsTemplate,但在加载网格后无法替换模板。 刷新网格不会刷新 overlayNoRowsTemplate.

您只能通过自己的 Overlay Component 动态处理它,因为 overlayNoRowsTemplate 与其他 gridOptions 一样不支持动态更改。

import { Component } from '@angular/core';
import { INoRowsOverlayAngularComp } from "ag-grid-angular";

@Component({
    selector: 'app-no-rows-overlay',
    template: `<div class="ag-overlay-loading-center" style="background-color: lightcoral; height: 9%">` +
          `   <i class="fa fa-frown-o"> {{this.params.noRowsMessageFunc()}} </i>` +
          `</div>`
})
export class CustomNoRowsOverlay implements INoRowsOverlayAngularComp {
    private params: any;

    agInit(params): void {
        this.params = params;
    }
}

如您所见,设置并不难,而且您将能够通过 params.apigridOptions.noRowsOverlayComponentParams.

访问所有相关内容

Check docs for more info.

您可以使用 Grid API 的私有方法,如下所示,

onGridReady(params: any) {
    this.gridApi = params.api;
}

在你的私有方法中

(this.gridApi as any).gridOptionsWrapper.setProperty('overlayNoRowsTemplate', 'newTemplate');