利用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界面框架的设计之三--内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复