flex中的树控件

 
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
	<s:layout>
		<s:BasicLayout/>
	</s:layout>


	<fx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import mx.collections.ArrayList;
			import mx.controls.Alert;
			import mx.controls.treeClasses.TreeItemRenderer;
			import mx.core.UITextField;
			import mx.events.ListEvent;
			protected function linkbutton1_clickHandler(event:MouseEvent):void
			{
				op.label = op.label == "+" ? "-" : "+";
				var isExpend:Boolean = op.label == "-";
				for each(var node:XML in myTree.dataProvider)
				{
					myTree.expandChildrenOf(node,isExpend);
				}
			}

			protected function linkbutton2_clickHandler(event:MouseEvent):void
			{
				zk.label = zk.label == "<<" ? ">>" : "<<";
				can.width = 0;
			}


			protected function myTree_clickHandler(event:Event):void
			{
				if(event.target is UITextField) {
					var sed:String = TreeItemRenderer(UITextField(event.target).owner).data.@title;
					//Alert.show(sed);
					//adg.dataProvider = prd.prod;
					var arr:ArrayList = new ArrayList();
					for(var i = 0; i< prd.prod.length; i++) {
						if(prd.prod[i].cgy == sed) {
							arr.addItem(prd.prod[i]);
						}
					}
					adg.dataProvider = arr;
				}
			}

		]]>
	</fx:Script>

	<fx:Declarations>
		<fx:XMLList id="treedb">
			<root title="商品分类">
				<node title="家电"/>
				<node title="通讯"/>
			</root>
		</fx:XMLList>
		<fx:Model id="prd">
			<datas>
				<prod>
					<cgy>家电</cgy>
					<name>冰箱</name>
					<price>2330</price>
					<desc>很好!</desc>
				</prod>
				<prod>
					<cgy>家电</cgy>
					<name>彩电</name>
					<price>6533</price>
					<desc>很好!很好!</desc>
				</prod>
				<prod>
					<cgy>通讯</cgy>
					<name>小灵通</name>
					<price>4321</price>
					<desc>不错!</desc>
				</prod>
				<prod>
					<cgy>通讯</cgy>
					<name>手机</name>
					<price>311</price>
					<desc>打不通!</desc>
				</prod>
			</datas>
		</fx:Model>	
	</fx:Declarations>
	<s:Panel width="800" height="400" title="树形控件">
		<s:layout>
			<s:HorizontalLayout paddingTop="10" paddingLeft="10" paddingRight="10"/>
		</s:layout>
		<mx:HDividedBox width="100%" height="100%"  liveDragging="true">
			<mx:VBox  id="can">
				<mx:Canvas>
					<mx:LinkButton id="op" label="+" x="140" width="35" click="linkbutton1_clickHandler(event)"/>
					<mx:LinkButton id="zk" label="<<" x="165" width="35" click="linkbutton2_clickHandler(event)"/>
				</mx:Canvas>
				<mx:Tree id="myTree" dataProvider="{treedb}" labelField="@title" width="200" height="320"
						 click="myTree_clickHandler(event)">
					
				</mx:Tree>
			</mx:VBox>
			<mx:AdvancedDataGrid id="adg" width="500" height="350">
				<mx:columns>
					<mx:AdvancedDataGridColumn headerText="类型" dataField="cgy"/>
					<mx:AdvancedDataGridColumn headerText="名称" dataField="name"/>
					<mx:AdvancedDataGridColumn headerText="价格" dataField="price"/>
					<mx:AdvancedDataGridColumn headerText="描述" dataField="desc"/>
				</mx:columns>
			</mx:AdvancedDataGrid>
		</mx:HDividedBox>
	</s:Panel>
</s:Application>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值