Как выполнить событие, когда сетка «готова» - PullRequest
0 голосов
/ 02 апреля 2019

Данные и столбцы таблицы, которые я хочу отобразить, являются входными свойствами в моем модуле.Теперь я хочу иметь возможность указывать в данных конфигурации моего столбца такой флаг, чтобы эти столбцы изначально имели автоматический размер.Найти правильные столбцы и выполнить функцию .autosize() достаточно тривиально, но мне не хватает подходящего источника событий на самой сетке.

(onColumnInit) показался многообещающим, но, глядя на текст ошибки, я получаю в своемНа консоли у меня создается впечатление, что одна из них выполняется еще до того, как таблица заполнена.

Я использовал официальную ссылку API, но не смог найти то, что искал: событие, которое вызывается, когда идентификатор таблицы завершен.когда все данные подготовлены, когда таблица заполнена и, таким образом, готова к изменению размера.

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

Короче говоря, у меня есть модуль управления таблицами, который функционирует как внутренний контейнер для самой igx-сетки, он обеспечивает наш интерфейс для остальной части проекта.он получает сами данные и «поля таблицы», которые определяют имя поля (в дате), отображаемое имя столбца, типы данных и полезные теги, например, должен ли столбец сортироваться или нет.Точно так же я хочу реализовать тег, который позволяет первоначальное автоматическое изменение размера.

1 Ответ

1 голос
/ 11 апреля 2019

Нет элегантного решения для вашего сценария.В настоящее время igxGrid изначально не поддерживает автоматическое изменение размера столбцов, поэтому вы должны придерживаться API .autosize().Однако необходимо учитывать следующее:

  • API .autosize() работает только с видимыми в данный момент ячейками.По умолчанию igxGrid оптимизирует рендеринг DOM путем его виртуализации, а это означает, что не все ячейки столбца видны.Виртуализация не происходит, когда вы устанавливаете height=null для сетки, в этом случае все строки отображаются, и вертикальная полоса прокрутки отсутствует.В вашем случае вы хотели бы использовать height=null, чтобы API .autosize() давал желаемый результат.
  • Нет события, которое igxGrid генерирует, когда он полностью рендерится, - вы должны придерживатьсяУгловые крючки жизненного цикла.ngAfterViewInit должен работать для этой цели.
...