web-dev-qa-db-ja.com

ag-gridのすべての行を取得するにはどうすればよいですか?

ag-gridは、api.getSelectedRows()関数を使用して選択した行を取得する方法を提供します。また、api.setRowData([])関数を使用してすべての行を設定する方法を提供します。グリッド内のすべての行を返すgetAllRows()を探しています。 api.forEachNode()などを使用してすべての行をループする方法があることを知っています。行の配列全体を取得する方法はありますか?

6
Sandeep Kumar

私はそのような方法があるとは思わないが、あなたはあなた自身を作ることができる:

getAllRows() {
  let rowData = [];
  this.gridApi.forEachNode(node => rowData.Push(node.data));
  return rowData;
}
6
Michael Karén

Ag-gridはそれを行う方法を提供していません。ここで確認できます データAg-gridへのアクセス およびここで グリッドAPI

先ほど述べたように、ループを介してそれを行うことができるからです。

let items: Array<rows> = [];
this.gridApi.forEachNode(function(node) { 
    items.Push(node.data);
});

または、ag-gridのソースがangularを介してリンクされている場合、グリッドをループする必要はありません(データグリッドが変更を保留していないと仮定)

0
Quethzel

私は同じことを不思議に思っていて、すべての行を単純に取得することはできません。私の場合、すべての行でフラグを反転させる必要がありました。インジケーターはグリッドを含むコンポーネントの外側に設定されているため、次のようにしました。これはReactアプリのTypeScriptにあります。

  gridApi!.selectAll();
  const rows = gridApi!.getSelectedRows();

  rows.forEach(row => {
    row.coverageAction = this.props.isIndicatorChecked;
  });

  gridApi!.setRowData(rows);
0
David Spenard