i want to customize kendo-grid by own component .
i think its only taking columns and i need help to get other things except columns like kendo-grid-checkbox-column, kendo-grid-command-column
https://www.telerik.com/forums/kendo-angular-editor-content-projection-for-custom-toolbar
this comment saying "Content projection is not typically supported in the Grid" so i have problem with it.
i'm using like https://stackblitz.com/edit/angular-7qonm9-7qusje this example.
<kendo-grid
[data]="data"
[height]="height"
[loading]="loading"
[resizable]="resizable"
[selectable]="selectable"
[kendoGridSelectBy]="'selectionKeyBy'"
[selectedKeys]="selectedKeys"
(edit)="editHandler($event)"
(remove)="removeHandler($event)"
(cancel)="cancelHandler($event)"
(save)="saveHandler($event)"
(add)="addHandler($event)"
>
<ng-content></ng-content>
<kendo-grid-excel fileName="UserList.xlsx"> </kendo-grid-excel>
</kendo-grid>
and using like this other components
<app-grid-wrapper
#grid
[data]="dataService.view$ | async"
[loading]="dataService.pending"
[selectable]="{ mode: 'single' }"
[(selectedKeys)]="selectedItems"
(edit)="editHandler($event)"
(remove)="removeHandler($event)"
(cancel)="cancelHandler($event)"
(save)="saveHandler($event)"
(add)="addHandler($event)"
[resizable]="true"
nesAutoHeight
>
<kendo-grid-checkbox-column [width]="40" showSelectAll="true"></kendo-grid-checkbox-column>
<kendo-grid-column nesField="licenseCode">
<ng-template kendoGridEditTemplate let-column="column" let-formGroup="formGroup" let-isNew="isNew">
<input nesFormControl [readonly]="!isNew" [formControl]="formGroup.get('licenseCode')" />
</ng-template>
</kendo-grid-column>
<kendo-grid-column nesField="name">
<ng-template kendoGridCellTemplate let-dataItem>
<div class="">
<a style="color: #4e61ec" href="javascript:;" (click)="moreHandler(dataItem)"> {{dataItem.name}} </a>
</div>
</ng-template>
</kendo-grid-column>
<kendo-grid-column nesField="name2"></kendo-grid-column>
<kendo-grid-column nesField="licenseType">
<ng-template kendoGridEditTemplate let-column="column" let-formGroup="formGroup" let-isNew="isNew">
<kendo-dropdownlist
[formControl]="formGroup.get(column.field)"
[valuePrimitive]="true"
[dictCode]="'LCNS001'"
></kendo-dropdownlist>
</ng-template>
<ng-template kendoGridCellTemplate let-dataItem>
{{ dataItem.licenseType }} - {{ dataItem.licenseTypeName }}
</ng-template>
</kendo-grid-column>
<kendo-grid-column nesField="status">
<ng-template kendoGridEditTemplate let-column="column" let-formGroup="formGroup" let-isNew="isNew">
<kendo-dropdownlist
[formControl]="formGroup.get(column.field)"
[valuePrimitive]="true"
[dictCode]="'LCNS002'"
></kendo-dropdownlist>
</ng-template>
<ng-template kendoGridCellTemplate let-dataItem> {{ dataItem.statusName }} </ng-template>
</kendo-grid-column>
<kendo-grid-column nesField="sysNo">
<ng-template kendoGridEditTemplate let-column="column" let-formGroup="formGroup" let-isNew="isNew">
<kendo-dropdownlist
[formControl]="formGroup.get(column.field)"
[valuePrimitive]="true"
[dictCode]="'LCNS008'"
></kendo-dropdownlist>
</ng-template>
</kendo-grid-column>
<!-- <kendo-grid-excel fileName="licenseList.xlsx"></kendo-grid-excel>
<kendo-grid-pdf fileName="LicenseList.pdf"></kendo-grid-pdf> -->
<kendo-grid-command-column title="" [width]="220">
<ng-template kendoGridCellTemplate let-formGroup="formGroup">
<button kendoGridEditCommand class="k-secondary">
<i class="nes-i-edit"></i>
</button>
<button kendoGridRemoveCommand class="k-secondary">
<i class="nes-i-delete"></i>
</button>
<button kendoGridSaveCommand [disabled]="formGroup?.invalid">
<i class="nes-i-save"></i>
</button>
<button kendoGridCancelCommand><i class="nes-i-cancel"></i></button>
</ng-template>
</kendo-grid-command-column>
</app-grid-wrapper>
but first thing is other than kendo-grid-column are not working.
so getting columns like this
@ContentChildren(ColumnComponent) private columns: QueryList<ColumnComponent>;
ngAfterViewInit() {
this.grid.columns.reset(this.columns.toArray());
}
}