lock42
lock42

Reputation: 845

KendoUI kendoGridSelectAllCheckbox disable a certain row/checkbox

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

Answers (1)

Ian Vink
Ian Vink

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

Related Questions