zoukankan      html  css  js  c++  java
  • flex下的树形下拉框treecombobox

    不多说了,组件代码如下:
    1. <?xml version="1.0" encoding="utf-8"?>
    2. <mx:ComboBox  xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initComponent()">
    3. <mx:Script>
    4.     <![CDATA[
    5.            import mx.events.FlexEvent; 
    6.            [Bindable] 
    7.            private var _label:String; 
    8.            [Bindable] 
    9.            public var treeSelectedItem:Object;
    10.            public function initComponent():void
    11.            {
    12.             
    13.            }
    14.                         
    15.            public function updateLabel(event:*):void{  
    16.                     _label = event.currentTarget.selectedItem[this.labelField];     
    17.                     treeSelectedItem = event.currentTarget.selectedItem; 
    18.            } 
    19.            
    20.            override protected function updateDisplayList(unscaledWidth:Number,
    21.                                                   unscaledHeight:Number):void
    22.             {
    23.                 super.updateDisplayList(unscaledWidth, unscaledHeight);  
    24.                 
    25.                 if(dropdown && _label != null){   
    26.                     text = _label; 
    27.                 } 
    28.             }
    29.              
    30.     ]]>
    31. </mx:Script>
    32.     <mx:dropdownFactory>
    33.       <mx:Component> 
    34.         <mx:Tree creationComplete="initTree()" change="outerDocument.updateLabel(event)" showRoot="true" height="500" width="500">
    35.          <mx:Script>
    36.                 <![CDATA[
    37.                 public function initTree():void {
    38.                     var len:int=super.dataProvider.length;
    39.                     for(var i:int;i<len;i++)
    40.                     {
    41.                         super.expandChildrenOf(super.dataProvider[i], true);
    42.                     }
    43.                     super.selectedItem=outerDocument.treeSelectedItem;
    44.                 }
    45.                 ]]>
    46.             </mx:Script>
    47.         </mx:Tree>
    48.      </mx:Component>
    49.     </mx:dropdownFactory>
    50. </mx:ComboBox>
    调用的app代码如下:
    1. <?xml version="1.0" encoding="utf-8"?>
    2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:ns1="components.*">
    3.     <ns1:ComboTree  width="300" id="combo" labelField="@label" >
    4.         <mx:XMLListCollection id="MailBox">
    5.             <mx:XMLList>
    6.                 <folder label="Mail">
    7.                  <folder label="INBOX"/>
    8.                  <folder label="Personal Folder">
    9.                     <Pfolder label="Business" />
    10.                      <Pfolder label="Demo" /> 
    11.                          <Pfolder label="Personal" isBranch="true" /> 
    12.                          <Pfolder label="Saved Mail" /> 
    13.                     </folder>
    14.                     <folder label="Sent" />
    15.                     <folder label="Trash" />
    16.                 </folder>
    17.                 <folder label="Mail2">
    18.                  <folder label="INBOX2"/>
    19.                  <folder label="Personal Folder2">
    20.                     <Pfolder label="Business2" />
    21.                      <Pfolder label="Demo2" /> 
    22.                          <Pfolder label="Personal2" isBranch="true" /> 
    23.                          <Pfolder label="Saved Mail2" /> 
    24.                     </folder>
    25.                     <folder label="Sent2" />
    26.                     <folder label="Trash2" />
    27.                 </folder>
    28.             </mx:XMLList>
    29.         </mx:XMLListCollection>
    30.     </ns1:ComboTree>
    31. </mx:Application>


  • 相关阅读:
    备注下Windows可能会用到的运行命令
    SQL2008R2 收缩数据库问题
    转:SQL Server服务器名称与默认实例名不一致的修复方法
    mac下初始化eclipse的安卓开发ndk开发环境
    eclipse android ndk 提示Type 'JNIEnv' could not be resolved 等信息解决办法
    eclipse ndk 配置和简单开发demo
    ubuntu15.10运行android studio出错unable to run mksdcard sdk tool
    Pavilion M4-1016TX 加装固态硬盘(SSD)+UEFI+GPT安装WIN8.1
    package.json和package-lock.json的区别
    Vue生命周期中mounted和created的区别
  • 原文地址:https://www.cnblogs.com/hainange/p/6153268.html
Copyright © 2011-2022 走看看