天天看点

Flex中如何阻止用户点击选中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.         creationComplete="init();">
  7.     <mx:Script>
  8.         <![CDATA[
  9.             import mx.events.ListEvent;
  10.             private function init():void {
  11.                 tree.openItems = dp..node;
  12.             }
  13.             private function tree_itemClick(evt:ListEvent):void {
  14.                 var item:Object = evt.currentTarget.selectedItem;
  15.                 var nonSelectable:Boolean = ((item.hasOwnProperty("@clickable")) && (item.(@clickable == "false")));
  16.                 if (nonSelectable) {
  17.                     tree.selectedItem = null;
  18.                 }
  19.             }
  20.         ]]>
  21.     </mx:Script>
  22.     <mx:XML id="dp">
  23.         <root>
  24.             <node label="Parent 1 (X)" clickable="false">
  25.                 <node label="Child 1 (X)" clickable="false" />
  26.                 <node label="Child 2 (X)" clickable="false">
  27.                     <node label="Grandchild 1" />
  28.                     <node label="Grandchild 2" />
  29.                 </node>
  30.                 <node label="Child 3 (X)" clickable="false" />
  31.                 <node label="Child 4" />
  32.             </node>
  33.         </root>
  34.     </mx:XML>
  35.     <mx:Tree id="tree"
  36.             dataProvider="{dp}"
  37.             showRoot="false"
  38.             labelField="@label"
  39.             width="200"
  40.             itemClick="tree_itemClick(event);" />
  41. </mx:Application>

继续阅读