`

flexlib2.5 treegrid默认打开子节点

    博客分类:
  • flex
XML 
阅读更多
flexlib2.5 treegrid控件默认打开子节点。

采用treegrid添加CollectionEvent.COLLECTION_CHANGE事件,在事件种调用
openItemAt方法。

<?xml version="1.0" encoding="utf-8"?>

<mx:Application 
	xmlns:mx="http://www.adobe.com/2006/mxml" 
	xmlns:flexlib="http://code.google.com/p/flexlib/"
	layout="horizontal"
	creationComplete="handleCreationComplete()" 
	xmlns:controls="flexlib.controls.*" xmlns:treeGridClasses="flexlib.controls.treeGridClasses.*" >
	
	<mx:Style>
		.datagridStyle
		{
		   alternatingItemColors: #666666, #666666;
		   rollOverColor: #ff9933;
		   textRollOverColor: #000000;
		   selectionColor: #ff6600;
		   color: #ffffff;
		   textSelectedColor: #0b333c;
		}
		
		.dataGridHeader
		{
			color: #000000;
		}
	</mx:Style>
	
	<mx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import mx.events.CollectionEvent;
			import mx.events.DataGridEvent;
			import mx.events.FlexEvent;
			
			import vo.TreeGridSampleVO;
			
			[Bindable]
			private var dataProviderObject : TreeGridSampleVO;
			
			[Bindable]
			private var dataProviderArrayCollection : ArrayCollection;
			
			
			[Embed(source="assets/status.png")]
			public var statusIcon : Class;
			
			public function handleCreationComplete() : void
			{
				dataProviderObject = new TreeGridSampleVO();
				list.addEventListener(CollectionEvent.COLLECTION_CHANGE,function openItem(event:CollectionEvent):void{
				var len:int=(event.currentTarget as TreeGrid).dataProvider?(event.currentTarget as TreeGrid).dataProvider.length:0;
				for(var i:int=0;i<len;i++){	
				list.openItemAt(i,list.dataProvider[i]);
				}
				});
				var sampleVo1 : TreeGridSampleVO
					= new TreeGridSampleVO();
				sampleVo1.id = 1;
				sampleVo1.name = "Companies";
				sampleVo1.type = "COMPANIES";
				sampleVo1.desc = "All companies";
				sampleVo1.statusIcon = "statusIcon";
				sampleVo1.children = new ArrayCollection();
				
				var sampleVo1_1 : TreeGridSampleVO
					= new TreeGridSampleVO();
				sampleVo1_1.id = 2;
				sampleVo1_1.name = "Macromedia";
				sampleVo1_1.type = "COMPANY";
				sampleVo1_1.desc = "Flash, Flex, Director, ...";
				sampleVo1_1.statusIcon = "statusIcon";
				sampleVo1_1.children =null;

				
				sampleVo1.children.addItem(sampleVo1_1);
				
				dataProviderObject = sampleVo1;
			}
			

			
		]]>
	</mx:Script>
	
	<mx:VBox width="100%" height="100%" >				
		<mx:Label text="dataProvider: Nested Strong typed object, ShowRoot: true" fontSize="10" fontWeight="bold" />
		<controls:TreeGrid
			id="list"
			styleName="datagridStyle"
			headerStyleName="dataGridHeader"
			width="100%" height="100%" 
			dataProvider="{ dataProviderObject }"
			paddingLeft="25"
			verticalTrunks="none"
			disclosureClosedIcon="@Embed(source='assets/tree_openNode.png')"
			disclosureOpenIcon="@Embed(source='assets/tree_closeNode.png')"
			folderClosedIcon="@Embed(source='assets/status.png')"
			folderOpenIcon="@Embed(source='assets/status.png')"
			iconField="statusIcon" >
			<controls:columns>
				<treeGridClasses:TreeGridColumn dataField="name" />
				<mx:DataGridColumn dataField="desc" />
			</controls:columns>
		</controls:TreeGrid>
	</mx:VBox>
</mx:Application>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics