Angular не обновляется с помощью столбцов и представлений сетки данных Dev Extreme

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


person Andy    schedule 26.02.2020    source источник


Ответы (1)


Попробуйте что-нибудь вроде следующего. Настройте ChangeDetectorRef и вызовите detectChanges там, где у вас есть текущий комментарий.

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

Информация поступает из: Эта статья

person Aaron    schedule 26.02.2020
comment
Кажется, такое простое решение ... Не уверен, как я не пробовал это - person Andy; 26.02.2020