我是靠谱客的博主 冷傲芒果,最近开发中收集的这篇文章主要介绍web界面框架的设计之三-- Tree树形菜单的实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

利用Tree控件实现树形菜单,代码

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" creationComplete="leftinit()">
<mx:Metadata>
[Event(name="leftTreeEvent","MyEvent.TopEvent")]
</mx:Metadata>
<mx:Script>
<![CDATA[
import mx.rpc.remoting.mxml.RemoteObject;
import mx.rpc.AsyncToken;
import mx.rpc.AbstractOperation;
import mx.rpc.AsyncResponder;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
import MyEvent.LeftTreeEvent;
private var MenuRo:RemoteObject;
private var treeDate:XML;
private var selectedNode:XML;
private function leftinit():void
{
MenuRo = new RemoteObject("menuService");
var menuToken:AsyncToken ;
var operation:AbstractOperation = MenuRo.getOperation("getTree");
menuToken = operation.send(2);
menuToken.addResponder(new AsyncResponder(treeSuccess,null));
}
//树回调函数
private function treeSuccess(result:Object,token:Object=null):void
{
var eve:ResultEvent = result as ResultEvent;
if(eve.result != null)
{
var returnString:String = eve.result as String;
if(returnString !="" && returnString != null){
treeDate = new XML(returnString);
tree.dataProvider = treeDate;
tree.callLater(expandTree);
}
}
}
//树行自动展开
private function expandTree():void{
tree.expandChildrenOf(treeDate , true);
}
public function treeChanged(event:Event):void
{
selectedNode=Tree(event.target).selectedItem as XML;
var menuEvent:LeftTreeEvent = new LeftTreeEvent("leftTreeEvent",
selectedNode.@hreflink,selectedNode.@fid);
dispatchEvent(menuEvent);
}
]]>
</mx:Script>
<mx:VBox x="0" y="0" width="100%" height="100%">
<mx:Tree width="100%" height="100%" id="tree" labelField="@label"
showRoot="true" fontSize="14"
change="treeChanged(event)" ></mx:Tree>
</mx:VBox>
</mx:Canvas>

 

最后

以上就是冷傲芒果为你收集整理的web界面框架的设计之三-- Tree树形菜单的实现的全部内容,希望文章能够帮你解决web界面框架的设计之三-- Tree树形菜单的实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部