Thank You.
/Jakob
export class AppComponent {
@ViewChild("grid")
public grid: GridComponent;
public initialFlag = true;
// Grid’s dataBound event handler
dataBound() {
// This event will be triggered each time the grid data is modified, so flag variable is used so that this case is executed only on Grid initial render
if (this.initialFlag) {
this.grid.on("detail-state-change", this.detailChange, this.grid);
this.initialFlag = false;
}
}
// Grid’s “detail-state-change” internal event function
detailChange(args: any) {
alert('Detail change event triggered');
}
} |
// Child Grid’s detailDataBound event handler
childDetailDataBound(args: any) {
// The child Grid instance is retrieved from the closest Grid element
let childGridInst = args.detailElement.closest('.e-grid').ej2_instances[0];
// The ‘detail-state-change’ event is bound using the retrieved child Grid instance
childGridInst.on("detail-state-change", this.childDetailChange, childGridInst);
alert('Child row initial expand(detailDataBound event triggered)');
}
// Child Grid’s ‘detail-state-change’ event handler
childDetailChange(args: any) {
alert('Child detail change event triggered');
} |