flexlib2.5 treegrid控件默认打开子节点。
采用treegrid添加CollectionEvent.COLLECTION_CHANGE事件,在事件种调用
openItemAt方法。
采用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>