У меня есть ag-grid, когда у многих столбцов есть определенные c шаблоны. Но некоторые данные, которые я помещаю в таблицу, до сих пор были не чем иным, как просто текстом. Я хочу добавить что-то большее для случая по умолчанию:
<ng-template #defaultRecord let-record>
ADDITIONAL THINGS HERE
<!-- CHOOSEN FIELD HERE -->
</ng-template>
Итак, у меня есть метод для автоматической генерации столбцов:
private generateColumn(headerNameKey: string, colId: string, ngTemplate: TemplateRef<any>, filter = true, sortable = true, field?: string) {
const headerName = headerNameKey ? this.translateService.instant(headerNameKey) : '';
return {
headerName,
field,
sortable,
filter,
colId,
cellRendererFramework: CellRendererComponent,
cellRendererParams: {
ngTemplate
}
};
}
И я не знаю, как использовать неуказанное поле в шаблоне. Например, я получаю данные API, когда поле называется «XYZ», как сделать так, чтобы оно отображалось в моем шаблоне по умолчанию?
В этом случае:
<ng-template #defaultRecord let-record>
ADDITIONAL THINGS HERE
<span> Value of XYZ param</span>
</ng-template>
Может кто-нибудь мне помочь? Спасибо!
РЕДАКТИРОВАТЬ 1:
Пользовательский компонент CellRenderer:
export class CellRendererComponent implements ICellRendererAngularComp {
template: TemplateRef<any>;
templateContext: { $implicit: any, params: ICellRendererParams };
agInit(params: ICellRendererParams) {
this.template = params['ngTemplate'];
this.refresh(params);
}
refresh(params: ICellRendererParams): boolean {
this.templateContext = {
$implicit: params.data,
params
};
return true;
}
}
И как выглядит параметр в методе agInit
:
И как вы можете видеть на картинке, в шаблоне я хочу отобразить значение Fields.Date
param, определяемое полем. Как я предполагаю использовать его в шаблоне выше?