Flex中如何阻止用户点击选中Tree中任何节点的例子

By Minidxer | February 27, 2009

在前面的Flex中如何通过itemClick事件阻止用户点击选中Tree的某一分支节点的例子中,我们了解了如何阻止用户点击选中Tree的某一分支节点,接下来的例子演示了Flex中如何阻止用户点击选中Tree中任何节点。

让我们先来看一下Demo可以右键View Source或点击这里察看源代码):


下面是完整代码(或点击这里察看):

Download: 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.  
  8.     <mx:Script>
  9.         <![CDATA[
  10.             import mx.events.ListEvent;
  11.  
  12.             private function init():void {
  13.                 tree.openItems = dp..node;
  14.             }
  15.  
  16.             private function tree_itemClick(evt:ListEvent):void {
  17.                 var item:Object = evt.currentTarget.selectedItem;
  18.                 var nonSelectable:Boolean = ((item.hasOwnProperty("@clickable")) && (item.(@clickable == "false")));
  19.                 if (nonSelectable) {
  20.                     tree.selectedItem = null;
  21.                 }
  22.             }
  23.         ]]>
  24.     </mx:Script>
  25.  
  26.     <mx:XML id="dp">
  27.         <root>
  28.             <node label="Parent 1 (X)" clickable="false">
  29.                 <node label="Child 1 (X)" clickable="false" />
  30.                 <node label="Child 2 (X)" clickable="false">
  31.                     <node label="Grandchild 1" />
  32.                     <node label="Grandchild 2" />
  33.                 </node>
  34.                 <node label="Child 3 (X)" clickable="false" />
  35.                 <node label="Child 4" />
  36.             </node>
  37.         </root>
  38.     </mx:XML>
  39.  
  40.     <mx:Tree id="tree"
  41.             dataProvider="{dp}"
  42.             showRoot="false"
  43.             labelField="@label"
  44.             width="200"
  45.             itemClick="tree_itemClick(event);" />
  46.  
  47. </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子

Topics: Tree | No Comments » | 1,313 views Tags: , , ,

Search Posts