用于Angular 2 Grid dataBound事件的Kendo UI

时间:2017-03-22 16:57:59

标签: angular kendo-ui kendo-ui-angular2

有没有办法捕获网格的dataBound事件,类似于jQuery版本的Kendo UI中的事件。我需要在数据加载到网格后执行操作。

有一个dataStateChange事件,但在初始加载期间不会触发此事件。

目前,我正在使用超时功能来延迟执行,但这不是一个永久可靠的解决方案。

谢谢。

1 个答案:

答案 0 :(得分:3)

我认为为此使用内置的Angulars工具就足够了。

首先建议为网格创建一个新组件:

grid.component.html

<kendo-grid [data]="tableData" #myTable>
  <kendo-grid-column field="ListItem" title="List Item">
      <ng-template kendoGridCellTemplate let-dataItem>
        {{ dataItem.title }}
      </ng-template>  
  </kendo-grid-column>
</kendo-grid>

Angular的ngAfterViewInit生命周期挂钩将在初始化后触发:

grid.component.ts

import { AfterViewInit, Component, ElementRef, Input, ViewChild } from '@angular/core';

@Component({
  selector: 'app-table',
  templateUrl: `./table.component.html`,
})
export class TableComponent implements AfterViewInit  {
  @ViewChild('myTable') myTable: ElementRef;

  public ngAfterViewInit() {
    console.log('loaded', this.myTable);
  }

  public tableData = [
    { title: 'Number 1', id: 'one'},
    { title: 'Number 2', id: 'two'},
  ];
}

Here is a Stackblitz