首页 > 解决方案 > Angular 未使用 Dev Extreme 数据网格列和视图进行更新

问题描述

组件.html

<dx-data-grid>
 <dxi-column *ngFor="let column of columns">
  // creating columns
 </dxi-column>
</dx-data-grid>

组件.ts

public setupColumnsAndState(newColumns[]: any, state: any) {
 columns = newColumns[];
 // Is there something that could be done here to update datagrid columns?
 this.datagrid.instance.state(state); //state has columns
}

设置数据网格状态时,如果状态内的列在数据网格中尚不存在(例如,状态有 5 列,数据网格只有 3 列),则在设置状态时,数据网格会将它们过滤掉。

所以在这个例子中(我认为正在发生的事情)

我已经尝试研究 ngZone 和 changeDetectorRef,但我无法让它正常工作,并且不确定这些在这种情况下是否会有所帮助。

标签: angulartypescriptdevextremeangular-changedetectiondx-data-grid

解决方案


尝试类似以下内容。设置一个 ChangeDetectorRef 并在您有当前评论的地方调用 detectChanges。

constructor(private cd: ChangeDetectorRef) {}
public someFn() {
  this.cd.detectChanges();
  // ngOnChanges will be called
}

信息来自:本文


推荐阅读