3

Flex家伙的问题。如何根据树中项目的深度/级别在 mx:Tree 中使用多个项目渲染器?例如。对于第一级项目,我想使用带有按钮的标签和第二级项目组合框。

这有可能吗?

4

2 回答 2

2

这是解决方案:在扩展树中,只需覆盖函数 getItemRendererFactory(data:Object):IFactory 并执行必要的逻辑来选择正确的 itemRenderer。

希望这对其他人也有帮助

于 2010-03-23T22:37:52.530 回答
1

该条件逻辑应该在单个 itemrenderer 中实现。您不能设置多个渲染器。

这是一个如何实现的收据: 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');
        }
            }
         }  

该“if”语句显示您是否有内部节点。您还可以在生成数据提供者时指定其他属性。

于 2010-03-21T14:40:17.580 回答