3

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

4

2 回答 2

3

您可以使用 Grid API 的私有方法来执行此操作,如下所示,

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

在你的私人方法中

(this.gridApi as any).gridOptionsWrapper.setProperty('overlayNoRowsTemplate', 'newTemplate');
于 2020-09-07T08:03:30.013 回答
2

您只能通过 own 动态处理它Overlay Component,因为overlayNoRowsTemplate与 othergridOptions一样不支持动态更改。

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.api和访问所有相关的东西gridOptions.noRowsOverlayComponentParams

检查文档以获取更多信息。

于 2018-09-14T21:07:08.740 回答