У меня есть требование, когда мне нужно обновить запись в отфильтрованной ag-сетке, я могу обновить запись, однако индекс этих записей изменится.
Чтобы продемонстрировать проблему, я создал Plunkr .
Шаги по воспроизведению
- Нажмите кнопку обновления, вы увидите, что запись с возрастом 24 (rowIndex: 2) обновляется ( отлично работает )
- Refre sh Plunkr. Примените фильтр к столбцу Возраст (больше 22)
- Вы видите 3 записи, где запись с возрастом 24 становится второй записью (rowIndex: 1)
- Нажмите кнопку обновления. вы видите, что записи обновляются Но это стало 1-й записью.
- Очистите фильтр, вы увидите, что обновленная запись должна быть 3-й в сетке, а не на 2-й позиции.
Ожидание
- В отфильтрованной сетке запись не должна менять свое положение.
- После очистки фильтра обновленная запись должна находиться в том же положении, что и запись с возрастом 24 (3-е место в сетке).
На заметку
- Целенаправленное обновление записи путем удаления старой и добавления новой со старой записью rowIndex
- Я мог бы использовать setDataValue, но почти 30 столбцов будут обновлены сразу, поэтому выберите этот способ обновления.
То, что я пробовал
api.updateRowData({update: records}) //Grid not getting refreshed with new data, No error, tried refreshCells(), redrawRows() etc.
api.forEachNode() & api.forEachNodeAfterFilter() // Tried manipulating the RowNode with no luck
Дальнейшее утверждение
Поскольку я фильтрую записи, индекс получает изменилось, что нормально, но когда я обновляю / добавляю запись в отфильтрованный список на основе rowInde x, ag-grid должен учитывать rowIndexes отфильтрованных записей сетки вместо неотфильтрованной.
Пожалуйста, дайте мне знать, как я могу обновить отфильтрованную запись, сохранив ее индекс таким же, чтобы она не меняла свое положение в отфильтрованных сетка.