OldHawk

菜地一块,欢迎拍砖
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Setting icons for specific nodes in a Flex Tree control

Posted on 2008-01-11 10:37  OldHawk  阅读(825)  评论(0编辑  收藏  举报
The following example shows you how you can override a specific node’s icon in a Flex Tree control ysing the Tree class’s setItemIcon() method.
<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/11/29/setting-icons-for-specific-nodes-in-a-flex-tree-control/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout
="horizontal"
        verticalAlign
="middle"
        backgroundColor
="white"
        creationComplete
="init();">

    
<mx:Script>
        
<![CDATA[
            [Embed("assets/folder_table.png")]
            private var FolderTableIcon:Class;

            [Embed("assets/folder_user.png")]
            private var FolderUserIcon:Class;

            [Embed("assets/folder_wrench.png")]
            private var FolderWrenchIcon:Class;

            private function init():void {
                var nodeOne:XML = xmlListColl.getItemAt(0) as XML;
                tree.setItemIcon(nodeOne, FolderTableIcon, FolderTableIcon);

                var nodeTwo:XML = xmlListColl.getItemAt(1) as XML;
                tree.setItemIcon(nodeTwo, FolderUserIcon, FolderUserIcon);

                var nodeThree:XML = xmlListColl.getItemAt(2) as XML;
                tree.setItemIcon(nodeThree, FolderWrenchIcon, FolderWrenchIcon);
            }
        
]]>
    
</mx:Script>

    
<mx:XMLListCollection id="xmlListColl">
        
<mx:source>
            
<mx:XMLList>
                
<node label="One">
                    
<node label="One.1">
                        
<node label="One.1.1">
                            
<node label="One.1.1.1">
                                
<node label="One.1.1.1.1" />
                            
</node>
                        
</node>
                    
</node>
                    
<node label="One.2" />
                    
<node label="One.3" />
                
</node>
                
<node label="Two">
                    
<node label="Two.1" />
                    
<node label="Two.2" />
                    
<node label="Two.3" />
                
</node>
                
<node label="Three" />
            
</mx:XMLList>
        
</mx:source>
    
</mx:XMLListCollection>

    
<mx:Tree id="tree"
            dataProvider
="{xmlListColl}"
            labelField
="@label"
            width
="250"
            rowCount
="6"
            showScrollTips
="true" />

</mx:Application>