Reputation: 845
I have a Kendo grid in an Angular app with a checkbox column as below.
<kendo-grid
[data]="gridView"
[pageSize]="state.take"
[skip]="state.skip"
[pageable]="{ buttonCount: 5, info: 'true', type: 'numeric', pageSizes: pageSizes, previousNext: previousNext }"
[scrollable]="'none'"
(pageChange)="pageChange($event)"
[sortable]="{ allowUnsort: 'true', mode: 'multiple' }"
[sort]="state.sort"
(sortChange)="sortChange($event)"
width="100%"
[filter]="state.filter"
[filterable]="false"
(dataStateChange)="dataStateChange($event)"
[selectable]="{ checkboxOnly: true, mode: 'multiple' }"
[kendoGridSelectBy]="'Id'"
[selectedKeys]="selectedIds"
(selectedKeysChange)="onSelectedKeysChange($event)"
>
<kendo-grid-checkbox-column [headerClass]="'data-grid-header'" width="40">
<ng-template kendoGridHeaderTemplate class="data-grid-header" let-dataItem>
<input
class="k-checkbox"
id="selectAllCheckboxId"
kendoGridSelectAllCheckbox
[state]="selectAllState"
(selectAllChange)="onSelectAllChange($event)"
/>
<label class="k-checkbox-label" for="selectAllCheckboxId"></label>
</ng-template>
</kendo-grid-checkbox-column>
The grid has a select all checkbox and apparently generating a checkbox per row. What I want to do is disable a certain row given a condition. How can I achieve this?
Upvotes: 0
Views: 1347
Reputation: 68750
<kendo-grid-checkbox-column [showSelectAll]="true" [width]="40">
<ng-template kendoGridCellTemplate let-idx="rowIndex" let-dataItem="dataItem">
<input class="k-checkbox" [kendoGridSelectionCheckbox]="idx" [ngClass]="{ hidden: dataItem?.statusCode !== 'SOMETHING' }" />
</ng-template>
</kendo-grid-checkbox-column>
Upvotes: 1