知识大全 Flex 基于数据源的Menu Tree

Posted

篇首语:虚心使人进步,骄傲使人落后,我们应当永远记住这个真理。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Flex 基于数据源的Menu Tree相关的知识,希望对你有一定的参考价值。

Flex 基于数据源的Menu Tree  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  实现功能

   由外部参数flashvars指定数据源的文件位置或render链接

   在源数据上加href和target属性来控制打开窗口

   可自定义父节点和子节点图标 不设置采用系统默认

  直接上源码

   <?xml version=  encoding= utf ?><mx:Application xmlns:mx=       fontFamily= simsun  fontSize=       layout= absolute  creationComplete= menu send();  width=  height=  initialize= init() ><mx:Script>    <![CDATA[        import ntrols Alert;        import mx events ListEvent;         import llections ArrayCollection;         import mx rpc events ResultEvent;         [Bindable]         private var strUrl:String =  TreeMenus xml ;                  [Bindable]         private var menus:XML;                  [Bindable]         [Embed( open gif )]         public var openicon:Class;                   [Bindable]          [Embed( close gif )]         public var closeicon:Class;                   [Bindable]          [Embed( leaf gif )]         public var leaficon:Class;                  private function init():void                       this strUrl = this parameters url;                           private function LoadMenu(event:ResultEvent):void                      menus = XML(event result);             var results:XMLList = menus node;             tree dataProvider = results;                  //菜单图标设置         private function treeIcon(item:Object):Class                                    var node:XML = XML(item);              trace( icon:  + node @icon);              var str : String = node @icon;              //已经设置图标              if(node hasOwnProperty( @icon ))                                if(node @icon ==  openicon )                                          return openicon;                                    if(node @icon ==  closeicon )                                          return closeicon;                                    if(node @icon ==  leaficon )                                          return leaficon;                                              else                              //如果没定义icon就直接用默认的                                         if(!tree dataDescriptor isBranch(item))                                        return tree getStyle( defaultLeafIcon );                                if(tree isItemOpen(item))                                      return tree getStyle( folderOpenIcon );                                else                                    return tree getStyle( folderClosedIcon );                                            return null;                         /** *//**         * 菜单树单项点击事件         * */         private function itemClickHandler(evt:ListEvent):void                           var item:Object = Tree(evt currentTarget) selectedItem;                if (tree dataDescriptor isBranch(item))                                    //tree expandItem(item  !groupTree isItemOpen(item)  true);                                else                                    //得到节点对象                    var node:XML = XML(item);                    //如果有属性href                    if(node hasOwnProperty( @href ) && node hasOwnProperty( @target ))                                            openURL(node @href node @target);                                        if(node hasOwnProperty( @href ) && (node hasOwnProperty( @target ) == false))                                            //没有指定target默认在新窗口中打开                        openURL(node @href _blank );                                                                    //页面跳转的方法           private function openURL(url:String  target:String):void                       var request:URLRequest = new URLRequest(url);              navigateToURL(request target);              ]]></mx:Script>    <mx:HTTPService url= strUrl  id= menu  useProxy= false           showBusyCursor= true  result= LoadMenu(event)  resultFormat= xml />    <mx:Tree iconFunction= treeIcon  id= tree  width= %  height= %  labelField= @label   itemClick= itemClickHandler(event) /></mx:Application>

  调用的时候在flashvars里面加上url=xxx

   <object classid= clsid:D CDB E AE D cf B             id= tree  width=  height=             codebase= >            <param name= movie  value= $ctx/js/as/menu swf  />            <param name= quality  value= high  />            <param name= bgcolor  value= # ca  />            <param name= allowScriptAccess  value= sameDomain  />            <!  指定菜单的数据源  >            <param name= flashvars  value= url=$ctx/user/user!renderMenu do?id=$user usid  />            <embed src= tree swf  quality= high  bgcolor= # ca                 width=  height=  name= tree  align= middle                 play= true                 loop= false                 quality= high                 allowScriptAccess= sameDomain                 type= application/x shockwave flash                 pluginspage= >            </embed>    </object>

  其中url可以指定xml文件的位置或者render的链接

  示例文件xml

   <?xml version=  encoding= utf ?><menus>    <node label= 系统管理  icon= openicon >        <node label= 用户管理  icon= closeicon              target= mainFrame  />        <node label= 权限管理              target= mainFrame  />        <node label= 角色管理              target= mainFrame  />        <node label= 域管理              target= mainFrame  />        <node label= 测试 >            <node label= sub folder   target= mainFrame  />        </node>    </node>    <node label= 客服 >        <node label= 终端信息查询   target= mainFrame  />        <node label= 客服问题 解答记录   target= mainFrame  />    </node></menus>

  

cha138/Article/program/Java/JSP/201311/19340

相关参考

知识大全 Flex与java交互之数据库数据读取

Flex与java交互之数据库数据读取  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  前几天有网

知识大全 讲解Oracle数据库B-tree索引

讲解Oracle数据库B-tree索引  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!假如聚簇因子过

知识大全 数据回发时,维护ASP.NET Tree控件位置

数据回发时,维护ASP.NETTree控件位置  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!ASP

知识大全 数据结构考研分类复习真题 第六章 答案 (四)[14]

  .()①tree[p]·l→p ②tree[p]·r→p  ③p=  ()框(A)移至Ⅲ处成为前序遍历    cha138/Article/program/

知识大全 js调用Flex中的方法并向flex中传参及flex调用js示例

js调用Flex中的方法并向flex中传参及flex调用js示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起

知识大全 利用JavaScript和CSS制作浮动menu

利用JavaScript和CSS制作浮动menu  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 在Dialog中使用Menu和Toolbar

在Dialog中使用Menu和Toolbar  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在D

知识大全 基于Geodatabase数据模型的版本机制

基于Geodatabase数据模型的版本机制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一版

知识大全 全面解析基于空间数据库的数据挖掘技术[1]

  随着GIS技术在各个行业的应用以及数据挖掘空间数据采集技术数据库技术的迅速发展对从空间数据库发现隐含知识的需求日益增长从而出现了用于在空间数据库中进行知识发现的技术——空间数据挖掘(Spatial

知识大全 基于SQL中的数据查询语句汇总

基于SQL中的数据查询语句汇总  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!以下是对SQL中的数据