OldHawk

菜地一块,欢迎拍砖
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
The following example shows how you can use the isBranch() method to determine if a specific node in a Tree control is a branch (folder) or leaf (item).
<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/11/30/using-the-isbranch-method-to-determine-if-a-tree-item-is-a-branch-or-leaf/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout
="vertical"
        verticalAlign
="middle"
        backgroundColor
="white">

    
<mx:Script>
        
<![CDATA[
            import mx.events.ListEvent;

            private function tree_itemClick(evt:ListEvent):void {
                var itemIsBranch:Boolean = tree.dataDescriptor.isBranch(tree.selectedItem);
                lbl.text = itemIsBranch.toString();
            }

            private function tree_labelFunc(item:XML):String {
                var returnStr:String = item.@label;
                var itemIsBranch:Boolean = tree.dataDescriptor.isBranch(item);
                if (itemIsBranch) {
                    returnStr += " (BRANCH)";
                }
                return returnStr;
            }
        
]]>
    
</mx:Script>

    
<mx:XML id="xmlDP">
        
<node>
            
<node label="1.a" />
            
<node label="1.b" />
            
<node label="1.c">
                
<node label="1.c.i" />
                
<node label="1.c.ii" />
                
<node label="1.c.iii" />
                
<node label="1.c.iv" />
                
<node label="1.c.v" />
            
</node>
            
<node label="1.d" />
            
<node label="1.e">
                
<node label="1.e.i" />
                
<node label="1.e.ii" />
                
<node label="1.e.iii">
                    
<node label="1.e.iii.A" />
                
</node>
                
<node label="1.e.iv" />
            
</node>
            
<node label="1.f" />
        
</node>
    
</mx:XML>

    
<mx:ApplicationControlBar dock="true">
        
<mx:Form styleName="plain">
            
<mx:FormItem label="isBranch():">
                
<mx:Label id="lbl" fontWeight="bold" />
            
</mx:FormItem>
        
</mx:Form>
    
</mx:ApplicationControlBar>

    
<mx:Tree id="tree"
            dataProvider
="{xmlDP}"
            labelFunction
="tree_labelFunc"
            showRoot
="false"
            width
="50%"
            rowCount
="6"
            itemClick
="tree_itemClick(event);" />

</mx:Application>