Во Flex как обернуть списки в столбцы? - PullRequest
0 голосов
/ 13 ноября 2009

Как сделать так, чтобы элемент управления List переносился на второй столбец (или несколько столбцов)? Спасибо, дайте мне знать, если есть решение для этого с помощью элемента управления List или другого элемента управления Flex.

Например, если у вас есть один список с 42 элементами в нем, но я хочу ограничить высоту списка до 20 элементов; тогда вместо того, чтобы иметь один список с 42 пунктами полностью, я хотел бы, чтобы этот список выглядел как эквивалент 3 смежных списков: первый с 20 элементами, второй с 20 элементами, а третий с 2 ​​элементами (который представлять первоначальный список из 42 предметов).

Этот вопрос кажется похожим, но в ColdFusion:
Заключение списков в столбцы

Ответы [ 6 ]

1 голос
/ 13 ноября 2009

Использование TileList и изменение переменной направления - лучшее решение, которое я придумала.

0 голосов
/ 13 ноября 2009

Я предлагаю создать пользовательский Компонент, который включает переменное число списков. Этот пользовательский компонент может иметь свойство с именем «maxListHeight». Он также может иметь свойство «dataProvider». Этот пользовательский компонент создаст набор горизонтально выровненных списков. Число списков, созданных пользовательским компонентом, будет: floor (dataProvider.length / maxListHeight) +1. Где все, кроме последнего созданного списка, будут иметь listHeight maxListHeight; последний созданный список будет иметь listHeight: dataProvider.length% maxListHeight.

Это должно работать, но управление добавлением и удалением элементов в masterList должно потребовать дополнительной работы (если он не добавлен / не удален с обратной стороны) Это также потребует создания нескольких списков вместо одного.

0 голосов
/ 13 ноября 2009

Я думаю, что вы ищете второй ряд, как уже отмечали другие. Либо установка для wordWrap значения true, либо использование другого средства визуализации элементов - лучший способ сделать это, но использование собственного средства визуализации элементов даст вам больше контроля над отображением объекта.

0 голосов
/ 13 ноября 2009

Попробуйте установить следующие два свойства в списке:

wordWrap=true
variableRowHeight=true
0 голосов
/ 13 ноября 2009

Значение по умолчанию itemRenderer для элемента управления List равно TextInput, которое поддерживает только однострочный текст. Вместо этого используйте TextArea.

<mx:List itemRenderer="mx.controls.TextArea"/>
0 голосов
/ 13 ноября 2009

Вы можете использовать Repeater и простой ItemRenderer на основе Label для элементов списка и избегать использования списка полностью. Если вы заключите все это в пользовательский элемент управления, вы можете предоставить тот же API, что и List, чтобы ваши потребители никогда не увидели разницу.

...