【发布时间】:2018-03-12 01:16:50
【问题描述】:
我的组件中有一个 Kendo UI Grid。我在那个组件中也有一个剑道开关。我希望在切换开关时刷新网格。来自开关的值将对网格中使用的数据产生影响。我怎么做?我的网格的数据来自 DataBindingDirective。所以,它看起来像这样:
我的组件.html
<kendo-switch [(ngModel)]='showDeleted' (click)="onShowDeleted($event)">
</kendo-switch>
<kendo-grid
myDataBinding
...
...
></kendo-grid>
我的组件.ts
showDeleted = true;
onShowDeleted(event): void {
this.myService.showDeleted = this.showDeleted;
// todo: force grid refresh
}
MyDatabinding.ts(扩展 DataBindingDirective)
constructor(private myService: MyService, grid: GridComponent) {
super(grid);
}
public ngOnInit(): void {
this.subscription = this.myService.subscribe((result) => {
this.grid.data = result;
});
this.rebind();
}
public rebind(): void {
this.myService.query(this.state);
}
MyService.ts(扩展 BehaviorSubject)
public query(state: any): void {
this.fetch(state).subscribe(x => super.next(x));
}
private fetch(state: any): Observable<GridDataResult> {
//get data here
}
【问题讨论】:
-
kendo-switch的值是否需要您的DataBindingDirective才能正常工作? -
第一次展示你如何绑定数据。
-
添加说明。
标签: angular kendo-ui kendo-ui-angular2 kendo-ui-grid