利用Tree控件实现树形菜单,代码
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58<?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界面框架的设计之三--内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复