2008-11-13 3 views
3

При написании пользовательского элемента itemRenderer, как вы ссылаетесь на высоту и ширину ячейки сетки, в которой она будет отображаться? Таким образом, он будет правильно изменять размер, когда сетка будет изменена.Flex dataGrid itemRenderer, ширина и высота ячейки доступа

Я пишу dataGrid itemRenderer, который рисует гистограмму в последнем столбце таблицы.

Я пробовал ссылку «это», «этот» и несколько других вещей без успеха. Мое временное решение для взлома заключается в том, чтобы добавить эти данные в datacollection, но это не будет работать, когда сетка изменит размер, поэтому мне придется редактировать его каждый раз.

ответ

5

Все гибкие компоненты, включая клеточные рендереров знают о своих собственных ширины и высоты, так что вы должны быть в состоянии только получить доступ к this.width и this.height

Если вы ищете событий, которые говорят вам, когда ячейка изменила размер, вы можете прослушивать событие ResizeEvent.RESIZE или переопределить protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void на компоненте.

+0

Я пробовал это, но this.width всегда 0. Я подозреваю, что это результат того, что он еще не был отображен, так как это HBox с (предположительно) 100% шириной. – Alex 2008-11-14 15:28:50

0

Ваш itemRenderer для последнего столбца наследует размер макета. Используйте абсолютный макет для MXML itemRenderer, и он будет масштабироваться, чтобы соответствовать.

Смежные вопросы