Как я могу получить все ряды ag-grid? - PullRequest
0 голосов
/ 05 июня 2018

ag-grid позволяет получить выбранные строки с помощью функции api.getSelectedRows().И предоставляет способ установить все строки, используя функцию api.setRowData([]).Я ищу что-то getAllRows(), чтобы вернуть все строки в сетке.Я знаю, что есть способ перебрать все строки, используя api.forEachNode() и т. Д. Есть ли способ получить весь массив строк?

Ответы [ 3 ]

0 голосов
/ 16 мая 2019

Мне было интересно то же самое, и мне показалось раздражающим, что вы не можете просто получить все строки.В моем случае мне нужно было поставить флажок на всех строках, где индикатор установлен за пределами компонента, содержащего сетку, поэтому я сделал следующее.Это в TypeScript для приложения React.

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

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

  gridApi!.setRowData(rows);
0 голосов
/ 03 июля 2019

Ag-grid не предоставляет никакого способа сделать это.Вы можете проверить это здесь Доступ к данным Ag-grid и здесь Grid Api .

Я гость, причина в том, что вы можете сделать это через цикл, как вы упомянулиbefore.

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

Или, если источник вашей ag-сетки связан через angular, нет необходимости циклически перемещаться по сетке (при условии, что сетка данных не ожидает изменений)

0 голосов
/ 06 июня 2018

Я не думаю, что есть такой метод, но вы можете сделать свой собственный:

getAllRows() {
  let rowData = [];
  this.gridApi.forEachNode(node => rowData.push(node.data));
  return rowData;
}
...