Its very simple. Just use your example here
https://ej2.syncfusion.com/angular/documentation/grid/hierarchy-grid/?no-cache=1
In that example, your child grid bind to a data source 'data' which appears to be an object[].
In the parent Grid, and in all other grids that bind from the HTML, if I copy the data:object[] to a new object 'data2:object[] and make some changes, then
in the ts class assign datasource = data2, the grid will update.
However in the Child grid, when the data is changes in the data:object[] copied and assigned to 'datasource' the child grid does not update.
You can see in my code(pasted below) i simply pass in a new data object of type:ILosJSON[], which is just a JSON file, then I assign to the child grid model this._gridModel.datasource = data. Normally this is enough to refresh the data.
When I call refresh() on the child Grid object, it does not refresh.
//Callback when data loaded
protected setDataAsArrayChild(data: LosJSON[]): void {
this._gridModel.dataSource = data;
this.sfGrid.refresh();
}
}