• 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>


  • 相关阅读:
    Android Studio no debuggable applications解决方案2
    Android CountDownTimer倒计时器的使用
    git 创建分支并切换
    com.android.org.bouncycastle.jce.exception.ExtCertPathValidatorException: Could not validate certificate: current time:
    为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment
    Android 使WebView支持HTML5 Video(全屏)播放的方法
    使用retrofit注意
    解决 Android Studio 乱码问题
    Android视觉规范-间距规范与文字规范单位换算(dip、sp与px)
    教你如何删除WIN7系统文件以及无法删除的文件
  • 原文地址:https://www.cnblogs.com/hainange/p/6153268.html
Copyright © 2020-2023  润新知