ag-grid & angular: autoSizeColumns () усекает текст ячейки - PullRequest
0 голосов
/ 10 июля 2019

Я использую ag-grid v21 & Angular 6 с моделью рядов на стороне сервера.Я хочу автоматически изменить размер столбцов, но поведение не совсем то, что я ожидаю.

Поскольку я получаю данные асинхронно, я делаю gridColumnApi.autoSizeColumns(...), когда получаю данные в onGridReady () (я также пытался сделать это в onFirstDataRendered () , но у него было то же поведение).

Это отображает данные примерно так, усекая значения (скриншот 1):

enter image description here

Если я инициирую изменение размера столбца вручную, дважды щелкнув вертикальный разделитель столбцов, как в Excel, размер столбца будет изменен до желаемого (скриншот 2):

enter image description here

Мой вопрос: как мне автоматически добиться поведения на скриншоте 2?

(Это проблема синхронизации, то есть, когда я вручную изменяю размер при двойном щелчке, сетка содержит больше информации, чем при первоначальном рендеринге, и поэтому размер столбца изменяется правильно?)

РЕДАКТИРОВАТЬ : Кажется, это проблема времени.Сейчас я изменяю размеры в onGridSizeChanged (), а иногда (когда onGridReady () занимает больше времени (?), А onGridSizeChanged () вызывается после onGridReady ()), он правильно изменяет размеры.

EDIT2 : Решено, вроде.Это особый аспект моего варианта использования, который вызывает неоднозначные сроки, см. Комментарии ниже.

1 Ответ

1 голос
/ 10 июля 2019

Событие, хотя ваша первоначальная проблема, похоже, связана с проблемой синхронизации, есть еще одна проблема: сетка ag не может рассчитать размер столбца на основе строк, которые еще не были отрисованы.

Из ссылки на сетку:

autoSizeColumns () просматривает визуализированные ячейки на экране и работает из ширины в зависимости от того, что он видит. Он не может видеть столбцы, которые не отображаются из-за виртуализации столбцов. Таким образом, это невозможно для автоматического изменения размера столбца, который не отображается на экране.

https://www.ag -grid.com / JavaScript сетки изменение размера / # авто-размер-колонки

...