下面是我使用Kendo-Angular2开发的网格。 我需要在行上点击事件,如果我需要行信息。 我写了一个常规点击事件并尝试获取行信息,但如果我在分页中转到第二页,它就不起作用。是否有一个简单的行单击事件,它提供行信息。
plnkr: http://plnkr.co/edit/h0fVaP4NykRiILA7dyHn?p=preview
点击事件代码:
ngAfterViewInit() {
this.renderer.listen(this.gridRef.nativeElement, "mousedown", (event) => {
if (!event.target.matches('tbody>tr *')) {
return;
}
const gridData = this.grid.data;
const tr = event.target.closest('tr');
const dataItem = gridData.data[tr.rowIndex + this.grid.skip];
console.log(dataItem);
});
}
答案 0 :(得分:7)
角度模板
<kendo-grid #gridUser
[kendoGridBinding]="gridData"
[pageSize]="10"
[pageable]="true"
[sortable]="true"
[selectable]="true"
(selectionChange)="gridUserSelectionChange(gridUser, $event)">
<kendo-grid-column field="name" title="ID">
</kendo-grid-column>
<kendo-grid-column field="nameThai" title="Name">
</kendo-grid-column>
<kendo-grid-pdf fileName="User.pdf"></kendo-grid-pdf>
<kendo-grid-excel fileName="User.xlsx"></kendo-grid-excel>
</kendo-grid>
角度组件
gridUserSelectionChange(gridUser, selection) {
// let selectedData = gridUser.data.data[selection.index];
const selectedData = selection.selectedRows[0].dataItem;
console.log(selectedData);
}