component. html
<dx-data-grid>
<dxi-column *ngFor="let column of columns">
// creating columns
</dxi-column>
</dx-data-grid>
component.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, но не смог я не могу заставить его работать должным образом, и я не уверен, поможет ли это в этой ситуации.