У меня есть множество дополнительных столбцов в сетке. Для создания этой динамической колонны. Мой код
<kendo-grid-column *ngFor="let col of columns">
<ng-template kendoGridHeaderTemplate let-column let-columnIndex="columnIndex" let-dataItem>
{{dataItem.name}}
</ng-template>
<ng-template kendoGridCellTemplate let-rowIndex="rowIndex">
{{col[rowIndex].myvalue}}
</ng-template>
</kendo-grid-column>
Данные columns
- это как матрица.
Например:
Array(3)
0: (3) [{...}, {...}, {...}]
1: (3) [{...}, {...}, {...}]
2: (3) [{...}, {...}, {...}]
Если я расширяюсь, то становится
0: Array(3)
0: {Id: 1, name: aaa, myvalue: 45}
1: {Id: 2, name: bbb, myvalue: 46}
2: {Id: 1, name: ccc, myvalue: 47}
Это означает, что на данный момент сетка имеет 3 столбца, конечно, она изменяется динамически. Логика в том, что я хочу сгладить коллекцию, чтобы каждый столбец мог отображать myvalue
. И заголовок заголовка должен быть aaa
, bbb
и т. Д.
Теперь ячейка может правильно отображать значение. Как бы то ни было, я не могу показать заголовок в заголовке.
Либо мне нужно найти правильный ng-template
, либо мне нужно заново создать структуру данных columns
. Я думал о коде как
<kendo-grid-column *ngFor="let col of columns">
title = {{column.something}}
</kendo-grid-column>
. Если я его использую, мне может понадобиться преобразовать объект columns
в формат словаря. Теперь уверен.