在 Angular 2 中刷新 Kendo 网格
Refreshing Kendo grid in Angular 2
数据更改后如何刷新 Angular 2 Kendo 网格?
private trash() {
this.gridView.data.splice(index, 1);
//I wish to refresh here
}
如果您将修改后的数据重新分配给网格的数据 属性,这将触发自动更改检测,一切都会按预期进行。
例如:
data.splice(index, 1);
this.gridView.data = data;
↑这是触发变化检测和更新网格的首选方式。↑
或者,如果您只想修改基础数据,则必须手动将更改通知 Angular。
Angular 2 中有几种方法可以触发变化检测。例如,您可以在组件的构造函数中注入 ChangeDetector 并调用 detectChange。示例:
import { Component, OnInit, ChangeDetectorRef } from '@angular/core';
constructor(private cd: ChangeDetectorRef) {
}
private trash() {
this.gridView.data.splice(index, 1);
this.cd.detectChanges()
}
一般来说,我建议您通过网络阅读 Angular 2 如何执行更改检测以及如何在需要时手动触发它。
data.splice(index, 1);
this.gridView.data = data;
不使用分页选项
数据更改后如何刷新 Angular 2 Kendo 网格?
private trash() {
this.gridView.data.splice(index, 1);
//I wish to refresh here
}
如果您将修改后的数据重新分配给网格的数据 属性,这将触发自动更改检测,一切都会按预期进行。 例如:
data.splice(index, 1);
this.gridView.data = data;
↑这是触发变化检测和更新网格的首选方式。↑
或者,如果您只想修改基础数据,则必须手动将更改通知 Angular。 Angular 2 中有几种方法可以触发变化检测。例如,您可以在组件的构造函数中注入 ChangeDetector 并调用 detectChange。示例:
import { Component, OnInit, ChangeDetectorRef } from '@angular/core';
constructor(private cd: ChangeDetectorRef) {
}
private trash() {
this.gridView.data.splice(index, 1);
this.cd.detectChanges()
}
一般来说,我建议您通过网络阅读 Angular 2 如何执行更改检测以及如何在需要时手动触发它。
data.splice(index, 1);
this.gridView.data = data;
不使用分页选项