Flex tree組件數(shù)據(jù)源、圖標等修改
更新時間:2009年05月31日 01:25:38 作者:
在flex中Tree組件的使用。使用XML作為Tree組件的數(shù)據(jù)源。
更換Tree組件默認、打開、關閉、有子項等幾個狀態(tài)下的ico圖標。
<?xml version="1.0" encoding="utf-8"?>
<!-- Tree control example. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<!--下面是樣式-->
<mx:Style >
Tree
{
verticalScrollBarStyleName: treeVerticalScrollBar;
selectionColor: #417597;
/*為默認、打開、關閉、有子項等幾個狀態(tài)添加不同的ico*/
defaultLeafIcon: Embed(source="longstep/icon/sharp_grey/gif/base.gif");
folderOpenIcon: Embed(source="longstep/icon/sharp_grey/gif/vote_yes.gif");
folderClosedIcon: Embed(source="longstep/icon/sharp_grey/gif/options.gif");
disclosureOpenIcon: Embed(source="longstep/icon/sharp_grey/gif/pause.gif");
}
.treeVerticalScrollBar
{
borderColor: #f00;
}
</mx:Style>
<mx:Script>
<![CDATA[
//綁定數(shù)據(jù),定義xml類型變量用于存放選中節(jié)點
[Bindable]
public var selectedNode:XML;
//當tree發(fā)生change事件時的事件
public function treeChanged(event:Event):void {
//將選中的節(jié)點轉(zhuǎn)換成xml,賦予selectedNode,as為轉(zhuǎn)換類型
selectedNode=Tree(event.target).selectedItem as XML;
}
//tree有3個事件使用較多,change、itemClick、itemOpen、itemClose
//change:選中列改變時被觸發(fā)
//itemClick:點擊某一列時觸發(fā)
//itemOpen:節(jié)點展開時觸發(fā)
//itemClose:節(jié)點關閉時觸發(fā)
]]>
</mx:Script>
<!--XMLList作為數(shù)據(jù)源是最適合于tree組件的-->
<mx:XMLList id="treeData">
<node label="Mail Box">
<node label="Inbox">
<node label="Marketing"/>
<node label="Product Management"/>
<node label="Personal"/>
</node>
<node label="Outbox">
<node label="Professional"/>
<node label="Personal"/>
</node>
<node label="Spam"/>
<node label="Sent"/>
</node>
</mx:XMLList>
<mx:Panel title="Tree Control Example" height="75%" width="75%"
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
<mx:Label width="100%" color="blue"
text="Select a node in the Tree control."/>
<mx:HDividedBox width="100%" height="100%">
<!--@表示xml中間點的屬性,如:@label表示label屬性的值-->
<!--dataProvider="{treeData}"表示綁定數(shù)據(jù),數(shù)據(jù)源可以是XML也可以是XMLList-->
<mx:Tree id="myTree" width="50%" height="100%" labelField="@label"
showRoot="false" dataProvider="{treeData}" change="treeChanged(event)"/>
<mx:TextArea height="100%" width="50%"
text="Selected Item: {selectedNode.@label}"/>
</mx:HDividedBox>
</mx:Panel>
</mx:Application>
復制代碼 代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<!-- Tree control example. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<!--下面是樣式-->
<mx:Style >
Tree
{
verticalScrollBarStyleName: treeVerticalScrollBar;
selectionColor: #417597;
/*為默認、打開、關閉、有子項等幾個狀態(tài)添加不同的ico*/
defaultLeafIcon: Embed(source="longstep/icon/sharp_grey/gif/base.gif");
folderOpenIcon: Embed(source="longstep/icon/sharp_grey/gif/vote_yes.gif");
folderClosedIcon: Embed(source="longstep/icon/sharp_grey/gif/options.gif");
disclosureOpenIcon: Embed(source="longstep/icon/sharp_grey/gif/pause.gif");
}
.treeVerticalScrollBar
{
borderColor: #f00;
}
</mx:Style>
<mx:Script>
<![CDATA[
//綁定數(shù)據(jù),定義xml類型變量用于存放選中節(jié)點
[Bindable]
public var selectedNode:XML;
//當tree發(fā)生change事件時的事件
public function treeChanged(event:Event):void {
//將選中的節(jié)點轉(zhuǎn)換成xml,賦予selectedNode,as為轉(zhuǎn)換類型
selectedNode=Tree(event.target).selectedItem as XML;
}
//tree有3個事件使用較多,change、itemClick、itemOpen、itemClose
//change:選中列改變時被觸發(fā)
//itemClick:點擊某一列時觸發(fā)
//itemOpen:節(jié)點展開時觸發(fā)
//itemClose:節(jié)點關閉時觸發(fā)
]]>
</mx:Script>
<!--XMLList作為數(shù)據(jù)源是最適合于tree組件的-->
<mx:XMLList id="treeData">
<node label="Mail Box">
<node label="Inbox">
<node label="Marketing"/>
<node label="Product Management"/>
<node label="Personal"/>
</node>
<node label="Outbox">
<node label="Professional"/>
<node label="Personal"/>
</node>
<node label="Spam"/>
<node label="Sent"/>
</node>
</mx:XMLList>
<mx:Panel title="Tree Control Example" height="75%" width="75%"
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
<mx:Label width="100%" color="blue"
text="Select a node in the Tree control."/>
<mx:HDividedBox width="100%" height="100%">
<!--@表示xml中間點的屬性,如:@label表示label屬性的值-->
<!--dataProvider="{treeData}"表示綁定數(shù)據(jù),數(shù)據(jù)源可以是XML也可以是XMLList-->
<mx:Tree id="myTree" width="50%" height="100%" labelField="@label"
showRoot="false" dataProvider="{treeData}" change="treeChanged(event)"/>
<mx:TextArea height="100%" width="50%"
text="Selected Item: {selectedNode.@label}"/>
</mx:HDividedBox>
</mx:Panel>
</mx:Application>
相關文章
在flex中執(zhí)行一個javascript方法的簡單方式
說明:這里巧妙的運用了JavaScript中的eval全局函數(shù),非常好,省的在嵌入flash的網(wǎng)頁文件中寫JavaScript函數(shù)。2009-05-05