Формат пользовательского объекта Kendo Angular dynamic grid

#angular #object #format #kendo-grid

#угловой #объект #формат #kendo-grid

Вопрос:

У кого-нибудь есть идеи о том, как форматировать отображение пользовательского объекта в Kendo Grid? У меня есть следующая динамическая сетка:

 <kendo-grid
    <kendo-grid-column
      *ngFor="let column of columns"
      [field]="column.field"
      [title]="column.title"
      [format]="column.format"
      [filter]="column.filter"
    ></kendo-grid-column>
</kendo-grid>
  

и у меня есть столбец, в котором хранится простой объект day / month:

 dayMonth: {
    day: number,
    month: number
}
  

и у меня уже есть канал dayMonthFormatter для отображения этого в формате «dd MMMM». Чего я не могу понять, так это того, как я могу заставить Kendo grid применить канал к данным без необходимости изменять данные, возвращаемые моим API, с помощью ввода [format]. Документация ColumnComponent ссылается на поддержку «объекта формата», но я нигде не могу найти никаких ссылок на то, как создать пользовательский из них.

Ответ №1:

Я отказался от попыток найти способ с помощью свойства format и просто использовал шаблон. например:

 <kendo-grid
    <kendo-grid-column
      *ngFor="let column of columns"
      [field]="column.field"
      [title]="column.title"
      [format]="column.format"
      [filter]="column.filter"
    >
    <ng-template *ngIf="column.field === 'dayMonthField'"
        kendoGridCellTemplate
        let-dataItem
      >
        {{ dataItem.dayMonthField | dayMonthFormatter }}
      </ng-template>
    </kendo-grid-column>
</kendo-grid>