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 >
<!-- 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 >
本文转自 OldHawk 博客园博客,原文链接:http://www.cnblogs.com/taobataoma/archive/2008/01/15/1039370.html
,如需转载请自行联系原作者