I have a Syncfusion GridComponent in an angular application.
I have datasource bound to an angular signal:
<ejs-grid
grid
[allowRowDragAndDrop]="allowDragAndDrop"
[sortSettings]="sortOptions"
(rowDrop)="rowDrop($event)"
[dataSource]="plans()"
(rowSelected)='rowSelected($event)'
[toolbar]="toolbar"
[loadingIndicator]="loadingIndicator"
(toolbarClick)="clickHandler($event)"
>
</ejs-grid>
The signal is updated via subscription:
this.service.get(id)
.pipe(
take(1),
tap((plans: Plan[]) => {
this.isLoading = false;
this.plans.set(plans);
}),
)
The network call is being made, the data is being returned and the signal is updated. The grid however does not update until another action is selected.
I have tried changing out the datasource to an observable with an async pipe, i.e:
plans$ | async
Again the data is updated – but the grid is not.