簡體   English   中英

從Angular 2+中的Kendo網格中獲取選定行的列表

[英]Get list of selected rows from Kendo grid in Angular 2+

我在Angular 4應用程序中使用Kendo for Angular網格。 我已經將selectable設置為'true',在網格中有kendo-grid-checkbox-column的列中,並將selectionChange設置為將事件參數作為參數的函數。

在我的selectionChange處理程序中,無論選擇多少行,事件參數上的selectedRows數組都只有一個值。

謝謝,詹姆斯

我的代碼:

  onGridSelectionChange(event: SelectionEvent) { debugger; console.log(event.selectedRows.length); // this is always 1 }; 
 <kendo-grid *ngIf='!isLoading' style="width:100%; height: inherit;" class="ag-fresh" [data]='gridView' [selectable]="true" [pageSize]='pageSize' [skip]='skip' [pageable]='true' (pageChange)='onGridPageChange($event)' (selectionChange)='onGridSelectionChange($event)'> 

看下面的例子:

所有選擇的鍵都保存在一個集合(mySelection)中,我們還可以操縱該集合以編程方式選擇/取消選擇行。 除了保留鍵之外,還可以保留整個對象,它們代表所選數據項(將kendoGridSelectBy綁定到將返回eventArgs.dataItem的函數)。

您正在使用錯誤的網格事件。 您應該使用selectedKeysChange

<kendo-grid ...
  [kendoGridSelectBy]="'id'"
  (selectedKeysChange)="selectedKeysChange($event)">
  ...
</kendo-grid>

另外,您必須設置用於選擇行的字段( kendoGridSelectBy )。 在此示例中,它是ID。

得到選擇:

selectedKeysChange(rows: number[]) {
  console.log(rows);
}

將[selectable] =“ true”更改為:

[selectable] =“ {啟用:true,模式:“多個”}”

當我添加模式:“多”時,我能夠獲得列表。

暫無
暫無

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

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