Адаптируете ширину FlexS 3 DataGridColumn к содержимому его ItemRenderer? - PullRequest
0 голосов
/ 07 мая 2010

У меня есть следующий сценарий:

  • Здесь сидит Flex 3 DataGrid
  • Во время выполнения к этой сетке добавляется столбец
  • В столбце есть пользовательский ItemRenderer
  • ItemRenderer наследуется от HBox и динамически добавляет несколько элементов в HBOx

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

Я бы хотел, чтобы колонка адаптировала свою ширину к содержимому HBox в ItemRenderer. Я попробовал следующее:

  • Установка «процента ширины» ItemRenderer в «100»
  • Недействительные свойства ItemRenderer после добавления элементов

Единственное, что имеет «видимый» эффект - это принудительно увеличивает ширину DataGridColumn. Очевидно, что это неприемлемо, так как я динамически добавляю компоненты в ItemRenderer, и я не знаю, сколько их или сколько.

Кроме того, когда я нахожусь в ItemRenderer, у меня нет доступа к самому столбцу (или я?), Поэтому я не могу принудительно установить размер столбца отсюда.

Так есть ли способ обойти это? Поможет ли здесь AdvancedDataGrid (не учитывая тот факт, что я не могу использовать его по другим причинам ...)

В качестве альтернативы, я был бы достаточно счастлив, если бы у кого-то было решение, в котором ячейка столбца отображается без уродливой горизонтальной полосы прокрутки (не упоминайте, что для параметра HorizontalScrollPolicy установлено значение «off», вы уже там пробовали, потеряли рубашку;)).

Спасибо

PH

1 Ответ

0 голосов
/ 20 июня 2010

Я не нашел решения по размеру, однако нашел способ убрать полосу прокрутки; Вы должны поместить «horizontalScrollPolicy: 'off'" в список свойств фабрики itemRenderer (а не в сам элемент itemRenderer).

...