У меня есть ag-grid, когда у многих столбцов есть определенные шаблоны. Но некоторые данные, которые я помещал в таблицу, до сих пор были не более чем текстом ... Я хочу добавить кое-что еще для случая по умолчанию:
<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, которое является определенным полем. Как я предполагаю использовать его в шаблоне выше?
agInit
в средстве визуализации ячеек передает объекты столбца и строки, поэтому вы можете получить данные:row[colDef.field]
. - person Matt Nienow   schedule 16.04.2020chosenField: any
, а затем что-то добавить к этому в функцииagInit
?this.chosenField = params['field]
, а поле из массива - это тот параметр, который я поместил в свойgenerateColumn
метод в свойствоcellRendererParams
? - person Dominik Z   schedule 16.04.2020value
, который просто должен автоматически содержать значение. - person Matt Nienow   schedule 16.04.2020let-record
вng-template
, запись - это то, что находится вdata
из параметров - person Dominik Z   schedule 17.04.2020