Datagrid选中的项目

时间:2016-11-04 12:02:02

标签: kendo-ui-angular2

我想知道如何将选定的数据网格项传递给事件处理程序?

我的数据网格:

<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)
    }

有人可以告诉我这是否正确? 或者有更好的方法来解决这个问题吗?

谢谢,

2 个答案:

答案 0 :(得分:1)

是的,您正在使用推荐的方式从select事件中查找数据项。我们不提供dataItem作为事件参数的一部分,因为无论如何它都可以从处理程序轻松访问。

答案 1 :(得分:0)

现在我们可以直接从事件中获取dataItem,

 (selectionChange)="selectRow($event)"

然后在组件中我们可以获取从selectionEvent

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