树形下拉框treecombobox(含代码)

转帖|其它|编辑:郝浩|2008-12-23 11:44:33.000|阅读 3837 次

概述:树形下拉框treecombobox(含代码)

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

文章关键字:|flex|树形|下拉框|treecombobox|

不多说了,组件代码如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:ComboBox  xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initComponent()">
<mx:Script>
    <![CDATA[
           import mx.events.FlexEvent;
           [Bindable]
           private var _label:String;
           [Bindable]
           public var treeSelectedItem:Object;

           public function initComponent():void
           {
           
           }
                       
           public function updateLabel(event:*):void{ 
                    _label = event.currentTarget.selectedItem[this.labelField];    
                    treeSelectedItem = event.currentTarget.selectedItem;
           }
          
           override protected function updateDisplayList(unscaledWidth:Number,
                                                  unscaledHeight:Number):void
            {
                super.updateDisplayList(unscaledWidth, unscaledHeight); 
               
                if(dropdown && _label != null){  
                    text = _label;
                }
            }

            
    ]]>
</mx:Script>
    <mx:dropdownFactory>
      <mx:Component>
        <mx:Tree creationComplete="initTree()" change="outerDocument.updateLabel(event)" showRoot="true" height="500" width="500">
         <mx:Script>
                <![CDATA[
                public function initTree():void {
                    var len:int=super.dataProvider.length;
                    for(var i:int;i<len;i++)
                    {
                        super.expandChildrenOf(super.dataProvider[i], true);
                    }
                    super.selectedItem=outerDocument.treeSelectedItem;
                }
                ]]>
            </mx:Script>
        </mx:Tree>
     </mx:Component>
    </mx:dropdownFactory>
</mx:ComboBox>


调用的app代码如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:ns1="components.*">
    <ns1:ComboTree  width="300" id="combo" labelField="@label" >
        <mx:XMLListCollection id="MailBox">
            <mx:XMLList>
                <folder label="Mail">
                 <folder label="INBOX"/>
                 <folder label="Personal Folder">
                    <Pfolder label="Business" />
                     <Pfolder label="Demo" />
                         <Pfolder label="Personal" isBranch="true" />
                         <Pfolder label="Saved Mail" />
                    </folder>
                    <folder label="Sent" />
                    <folder label="Trash" />
                </folder>
                <folder label="Mail2">
                 <folder label="INBOX2"/>
                 <folder label="Personal Folder2">
                    <Pfolder label="Business2" />
                     <Pfolder label="Demo2" />
                         <Pfolder label="Personal2" isBranch="true" />
                         <Pfolder label="Saved Mail2" />
                    </folder>
                    <folder label="Sent2" />
                    <folder label="Trash2" />
                </folder>
            </mx:XMLList>
        </mx:XMLListCollection>
    </ns1:ComboTree>
</mx:Application>


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:个人博客

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP