У меня есть различные запросы, в которых columnDefs в моей agGrid должны быть изменены, поскольку для соответствующего свойства нет метода API (например, при изменении фильтра столбца и типа на цифру c).
В этом случай, я в настоящее время строю новый columnDef и устанавливаю его через ... api.setColumnDefs (); Похоже, что это правильный способ обновления columnDefs. Непосредственный доступ к текущему свойству columnDefs сетки не будет работать (по крайней мере Grid не может быть обновлен для принятия изменений)
Это работает довольно хорошо, за исключением того факта, что это, по-видимому, заново создаст столбцы с нуля, следовательно, назначьте им новые (увеличенные) значения colId. например, столбец «first» имел colId: 0 до обновления colDef и colId: 1 после обновления.
Теперь, когда я также сталкиваюсь с запросами о сохранении состояний столбцов при изменениях, это поведение вызывает у меня некоторые проблемы. Так как getColumnState () и setColumnState () будут работать только тогда, когда colIds такие же, как и раньше, мне нужно добавить собственную логи c.
. Для этого я в настоящее время обновляю colId в моих сохраненных состояниях, сопоставляя the headerNames ... Несмотря на то, что это не так хорошо, я мог бы сейчас с этим смириться.
Моя текущая проблема заключается в том, что я не могу сохранить состояние свертывания / развертывания столбца таким образом, так как эта информация не хранится в colDef.
запомнитьGroupStateWhenNewData: true также не работает из-за изменения / увеличения colIds.
Возможно, мой вопрос можно решить двумя различными способами
Первый и лучший способ: метод обновления columnDefs без изменения colIds
В противном случае: метод сохранения состояния свертывания / развертывания групп вручную
Спасибо всем большое заранее