AG-Grid + React - игнорировать сортировку сетки при добавлении новой строки - PullRequest
0 голосов
/ 09 октября 2018

В приложении, использующем AG-Grid Enterprise, React и Redux, я хотел бы программно добавить новую строку в сетку с включенной сортировкой. Можно ли игнорировать сортировку сетки и вставить эту новую строку в определенную позицию сетки?

Чтобы прояснить этот сценарий, я разветвлял Simple Immutable Store Plnkr, доступный в AG-Grid'sвеб-сайт и создал новый здесь .

В исходном Plnkr кнопка Append добавит элементы в конец списка.В разветвленной версии из-за сортировки по возрастанию столбца Price и того факта, что для новых элементов цена не определена, все добавленные элементы будут отображаться в первых позициях таблицы.

Насколько я понимаю,это происходит потому, что в последней строке из фрагмента ниже (this.gridApi.setRowData) AG-Grid добавит новые строки и инициирует сортировку, фильтры и т. д.

addFiveItems(append) {
    var newStore = immutableStore.slice();
    for (var i = 0; i < 5; i++) {
      var newItem = createItem(append);
      if (append) {
        newStore.push(newItem);
      } else {
        newStore.splice(0, 0, newItem);
      }
    }
    immutableStore = newStore;
    this.gridApi.setRowData(immutableStore);
  }

С учетом этого есть ли AG-Grid API, который позволит добавлять элементы в определенных позициях сетки, пока сортировка активирована? Цель состоит в том, чтобы сохранить Append исходное поведение кнопки: добавлять элементы в конец сетки, даже если сортировкаопределяется в этом сценарии AG-Grid Enterprise, React и Redux.

1 Ответ

0 голосов
/ 23 октября 2018

Оказывается, что из AG-Grid 17+ доступен новый обратный вызов, называемый postSort (см. https://www.ag -grid.com / javascript-grid-sorting / # post-sort ).

Как подробно описано в документации выше, этот обратный вызов может использоваться для настройки порядка строк даже после применения сортировки.

...