Могу ли я использовать другой ItemRenderer для разных элементов списка? - PullRequest
0 голосов
/ 03 августа 2010

У меня есть список Flex и пользовательский ItemRenderer.Мне бы хотелось, чтобы в списке некоторых элементов использовался другой ItemRenderer (скажем, в зависимости от класса элемента).Возможно ли это?

Например:

<s:List dataProvider="{_systems}" itemRenderer="myItemRenderer"/>

Большинство элементов в _системах используют myItemRenderer.Но если элементом 3 _systems является «specialSystem», средство визуализации будет «specialItemRenderer».

Возможно ли это?

Ответы [ 2 ]

2 голосов
/ 03 августа 2010

Используйте функцию itemRenderer .

Вот учебник по блогу на этом .Я также коснусь это здесь .

1 голос
/ 03 августа 2010

Вы используете Canvas в качестве ItemRenderer и реализует механизм, который автоматически создает другие элементы управления.

Подробнее вы можете найти в этой статье: Различные элементы рендеринга в списке

Основная идея:

Вы создаете специальный ItemRenderer, который может создавать "эмулировать" другие элементы управления, в нашем случае это подкласс Canvas который просто создает и добавляет желаемый контроль. Тогда нам нужен механизм сказать нашему контейнеру, какой рендерер мы хотим подражать, для этого мы использовать ItemContainerData со специальными поля.

...