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, но мне не удалось заставить их работать должным образом, и я не уверен, помогут ли они вообще в этой ситуации.