簡體   English   中英

Kendo-Angular2:如何使用自動生成的列在kendo-grid中啟用僅復選框選擇模式

[英]Kendo-Angular2: How to enable checkbox only selection mode in kendo-grid with auto-generated columns

我正在嘗試顯示具有自動生成的列的kendo-grid ,並啟用僅復選框選擇模式。

下面的代碼使用自動生成的列創建一個kendo-grid ,並且工作正常, (plunkr)

<kendo-grid [data]="gridData" [selectable]="true">
</kendo-grid>

但是,當我嘗試添加復選框選擇列時,僅顯示復選框選擇列。 (plunkr)

<kendo-grid [data]="gridData" [selectable]="true">
    <kendo-grid-checkbox-column showSelectAll="true"><kendo-grid-checkbox-column>
</kendo-grid>

在指定列時有效(plunkr)

<!-- works -->
<kendo-grid [data]="gridData" [selectable]="true">
      <kendo-grid-checkbox-column showSelectAll='true'></kendo-grid-checkbox-column>
      <kendo-grid-column field="Id" title="ID"></kendo-grid-column>
      <kendo-grid-column field="CompanyName" title="Company Name"></kendo-grid-column>
</kendo-grid>

如果事先不知道這些列怎么辦?

假設對象數組中的對象具有相同的屬性,則可以將Object.keys()應用於數組中的第一個對象,以獲取屬性名稱,然后將其傳遞給kendoGridColumn組件的field屬性。

像這樣

<kendo-grid [data]="gridData" [selectable]="{checkboxOnly: true}">
  <ng-container *ngIf="gridData?.length > 0">
    <kendo-grid-checkbox-column showSelectAll="true">
    </kendo-grid-checkbox-column>
      <ng-container *ngFor="let key of Object.keys(gridData[0])">
        <kendo-grid-column [field]="key" [title]="key">
        </kendo-grid-column>
      </ng-container>
  </ng-container>
</kendo-grid>

Stackblitz

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM