Есть две разные ситуации, когда нет строк для отображения. И я хочу менять шаблон каждый раз в зависимости от ситуации. Я обновляю overlayNoRowsTemplate
, но шаблон не может быть заменен после загрузки сетки. Обновление сетки не обновляет overlayNoRowsTemplate
.
Невозможно изменить overlayNoRowsTemplate после загрузки сетки
Ответы (2)
Вы можете использовать частные методы Grid API, чтобы сделать это следующим образом:
onGridReady(params: any) {
this.gridApi = params.api;
}
В вашем частном методе
(this.gridApi as any).gridOptionsWrapper.setProperty('overlayNoRowsTemplate', 'newTemplate');
person
Rajantha Fernando
schedule
07.09.2020
Вы можете обрабатывать это динамически только через собственный 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.api
и gridOptions.noRowsOverlayComponentParams
.
Дополнительную информацию см. в документации.
person
un.spike
schedule
14.09.2018
Задается наложение при инициализации сетки, как изменить текст после загрузки сетки?
- person Shailendra Sharma; 18.06.2021