组件.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 列),则在设置状态时,数据网格会将它们过滤掉。
所以在这个例子中(我认为正在发生的事情)
- 正在设置列
- 页面尚未创建列
- datagrid 没有更新的列
- 设置状态时,数据网格列为空,因此正在过滤状态列。
我已经尝试研究 ngZone 和 changeDetectorRef,但我无法让它正常工作,并且不确定这些在这种情况下是否会有所帮助。