Как использовать 2 разных средства визуализации предметов в mx: Tree - PullRequest
3 голосов
/ 21 марта 2010

Вопрос к Flex, ребята. Как я могу использовать несколько средств визуализации элементов в mx: Tree в зависимости от глубины / уровня элемента в дереве? Например. Для элементов первого уровня я хочу использовать метку с кнопкой и для списка элементов второго уровня.

Возможно ли это как-нибудь?

Ответы [ 2 ]

2 голосов
/ 24 марта 2010

Вот решение: В расширенном дереве просто переопределите функцию getItemRendererFactory (data: Object): IFactory и выполните необходимую логику для выбора правильного itemRenderer.

Надеюсь, это поможет и кому-то еще

1 голос
/ 21 марта 2010

Эта условная логика должна быть реализована в одном элементе рендеринга.Вы не можете установить несколько средств визуализации.

Вот рецепт, как это может быть реализовано: http://cookbooks.adobe.com/post_How_do_I_create_a_Tree_itemRenderer_-62.html

override public function set data(value:Object):void
        {
            if(value != null)
            { 
                super.data = value;
                if(TreeListData(super.listData).hasChildren)
                {
                    setStyle("color", 0x660099);
                    setStyle("fontWeight", 'bold');
        }
        else
        {
            setStyle("color", 0x000000);
            setStyle("fontWeight", 'normal');
        }
            }
         }  

Это выражение «если» показывает, есть ли у вас внутренние узлы или нет,Вы также можете указать дополнительное свойство при генерации провайдера данных.

...