天天看点

Flex中如何利用expandItem()和expandChildrenOf()展开,或关闭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.         private function tree_expandItem(evt:MouseEvent):void {
  8.             if (tree.selectedItem &amp;&amp; tree.dataDescriptor.isBranch(tree.selectedItem)) {
  9.                 tree.expandItem(tree.selectedItem, checkBox.selected);
  10.             }
  11.         }
  12.         private function tree_expandChildrenOf(evt:MouseEvent):void {
  13.             if (tree.selectedItem &amp;&amp; tree.dataDescriptor.isBranch(tree.selectedItem)) {
  14.                 tree.expandChildrenOf(tree.selectedItem, checkBox.selected);
  15.             }
  16.         }
  17.     </mx:Script>
  18.     <mx:XML id="xmlDP">
  19.         <root>
  20.             <node label="The">
  21.                 <node label="quick">
  22.                     <node label="brown" />
  23.                     <node label="fox" />
  24.                     <node label="jumped">
  25.                         <node label="over" />
  26.                     </node>
  27.                 </node>
  28.                 <node label="the" />
  29.             </node>
  30.             <node label="lazy">
  31.                 <node label="dog." />
  32.             </node>
  33.         </root>
  34.     </mx:XML>
  35.     <mx:ApplicationControlBar dock="true">
  36.         <mx:Button id="button1"
  37.                 label="expandItem(...)"
  38.                 click="tree_expandItem(event);" />
  39.         <mx:Button id="button2"
  40.                 label="expandChildrenOf(...)"
  41.                 click="tree_expandChildrenOf(event);" />
  42.         <mx:Spacer width="100" />
  43.         <mx:CheckBox id="checkBox"
  44.                 label="open:"
  45.                 labelPlacement="left"
  46.                 selected="true" />
  47.     </mx:ApplicationControlBar>
  48.     <mx:Tree id="tree"
  49.             dataProvider="{xmlDP.node}"
  50.             labelField="@label"
  51.             showRoot="false"
  52.             width="200"
  53.             rowCount="6" />
  54. </mx:Application>

继续阅读