ag-gridは、api.getSelectedRows()
関数を使用して選択した行を取得する方法を提供します。また、api.setRowData([])
関数を使用してすべての行を設定する方法を提供します。グリッド内のすべての行を返すgetAllRows()
を探しています。 api.forEachNode()
などを使用してすべての行をループする方法があることを知っています。行の配列全体を取得する方法はありますか?
私はそのような方法があるとは思わないが、あなたはあなた自身を作ることができる:
getAllRows() {
let rowData = [];
this.gridApi.forEachNode(node => rowData.Push(node.data));
return rowData;
}
Ag-gridはそれを行う方法を提供していません。ここで確認できます データAg-gridへのアクセス およびここで グリッドAPI 。
先ほど述べたように、ループを介してそれを行うことができるからです。
let items: Array<rows> = [];
this.gridApi.forEachNode(function(node) {
items.Push(node.data);
});
または、ag-gridのソースがangularを介してリンクされている場合、グリッドをループする必要はありません(データグリッドが変更を保留していないと仮定)
私は同じことを不思議に思っていて、すべての行を単純に取得することはできません。私の場合、すべての行でフラグを反転させる必要がありました。インジケーターはグリッドを含むコンポーネントの外側に設定されているため、次のようにしました。これはReactアプリのTypeScriptにあります。
gridApi!.selectAll();
const rows = gridApi!.getSelectedRows();
rows.forEach(row => {
row.coverageAction = this.props.isIndicatorChecked;
});
gridApi!.setRowData(rows);