IgrHierarchicalGrid では親行が展開されたタイミングで子階層のグリッドが生成されます。このタイミングで発生する IgrRowIsland の onGridCreated イベントで引数から得られる子グリッド情報を変数に保管しておけば、任意のタイミングで保存したグリッド情報から選択行のデータを参照することができます。
<IgrHierarchicalGrid .....>
.....
<IgrRowIsland
onGridCreated={gridCreated}
.....>
.....
</IgrRowIsland>
</IgrHierarchicalGrid>
<button onClick={getSelectedRows}>Get selected rows</button>
// 子階層のグリッドの情報を保管する変数
const childGrids = useRef<GridInfo[]>([]);
// onGridCreated イベント
const gridCreated = (event: IgrGridCreatedEventArgs) => {
childGrids.current.push({
parentID: event.detail.parentID,
grid: event.detail.grid,
});
};
// 選択行の情報を取得し、コンソール表示を行う
const getSelectedRows = () => {
childGrids.current.forEach((obj) => {
const selectedRows = obj.grid.selectedRows;
if (selectedRows.length > 0) {
console.log(selectedRows);
}
});
};