Реализация загрузки CSV с использованием текущих фильтров и сортировка - PullRequest
0 голосов
/ 05 июня 2019

Мне нужно реализовать функцию загрузки. Он будет считывать данные в grid-реагирующих данных (adazzle) с учетом текущих столбцов, фильтров и сортировки, а также создавать массив json (или строки, разделенные запятыми), которые я затем смогу передать модулю реагировать-csv.

У меня есть структура данных, заполненная из бэкэнда, но она не фильтруется и не сортируется. Мне нужно уметь запрашивать у сетки данные для каждой строки за строкой. Кто-нибудь может указать мне правильное направление?

1 Ответ

0 голосов
/ 05 июня 2019

Без кода или некоторого контекста я не могу с уверенностью ответить ...
Вы предоставляете реквизиту rowGetter коллекцию для отображения или метод отображения строк ... Я думаю, что если вы фильтруете, то, скорее всего, у вас есть какой-то механизм, поддерживающий это ... В любом случае, Вы можете использовать значение этого свойства как-то, чтобы получить именно то, что вы видите в сетке.
Если вы буквально хотите опросить сетку, вы можете попробовать добавить ссылку на сетку, а затем посмотреть, можете ли вы запросить ее для данных строки. Я не могу с уверенностью вспомнить, что я видел пропеллер строк в сетках доступных реквизитов через ссылку, но я думаю, вы должны быть в состоянии (**,)

...

handleExport = async => {
  const exportRows = rows;
  // const exportRows = getRows(initialRows, filters);
  // const exportRows = this.state.gridref.CurrentRows   DISCLAIMER:CurrentRows is just for giving the idea... check out the ref yourself to see if it's possible to get the rows via the grid refs props. 
 downloadCSV( exportRows )
}
...
<ReactDataGrid
      ref={input => {this.state.gridref = input}}
      columns={columns}
      rowGetter={i => rows[i]} // or maybe rowGetter={i => getRows(initialRows, filters)[i]}
      rowsCount={rows.length}
      onGridSort={(sortColumn, sortDirection) =>
        setRows(sortRows(initialRows, sortColumn, sortDirection))
      }
    />

Я только когда-либо [устанавливал / инициализировал] опору this.state.gridRef в моем constructor, но я думаю, вы могли бы также [установить / инициализировать] его в своем componentDidMount ...
инициализировать так:
this.state.gridRef = React.createRef()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...