2016-11-04 126 views
0

我想知道如何將選定的數據網格項目傳遞給事件處理程序?Datagrid選擇的項目

我的數據網格:

<div> 
    <kendo-grid [data]="gridData" 
    [sortable]="true" 
    [selectable]="true" 
    (selectionChange)="selectRow($event)" 
    > 

我grid.component.ts

private selectRow(event:any){ 
     console.log(event) 
    } 

如何選定行傳遞給事件處理程序?

更新

我現在已經解決了它這樣的:

private selectRow(event:any){ 
     console.log(event) 
     let i = event.index 
     let selectedRow = this.gridData[i]; 
     console.log(selectedRow) 
    } 

有人可以告訴我,如果這是正確的方法是什麼? 或者有更好的方法來解決這個問題嗎?

謝謝,

回答

1

是的,您正在使用推薦的方式從select事件中查找數據項。我們不提供dataItem作爲事件參數的一部分,因爲它可以很容易地從處理程序訪問。

0

現在我們可以從事件直接獲得的DataItem,

(selectionChange)="selectRow($event)" 

然後在組件,我們可以從selectionEvent

onSelect(e: SelectionEvent) { 
     if (e.selectedRows.length > 0) { 
      var rows = e.selectedRows; 
      console.log(rows[0].dataItem); 
     } 
} 
選擇所有行