在FLEX開發(fā)中有一些小技巧,經(jīng)理在這里總結(jié)下,方便以后查閱,也希望能和大家一起交流。
這些小功能在實(shí)際開發(fā)中是很經(jīng)常用的。
一、在DataGrid的列中加圖片
做報(bào)表的時(shí)候經(jīng)常會在DataGrid中加入一些刻度條或者增減的圖片表示一些API指標(biāo)值,其實(shí)這個(gè)功能FLEX可以實(shí)現(xiàn)。
在DataGrid-colums-DataGridColumn中有個(gè)itemRenderer屬性,這個(gè)屬性可以讓你用一個(gè)組件來替換這個(gè)列中本來的內(nèi)容。
OK,進(jìn)入正題。
首先,我們先創(chuàng)建一個(gè)組件(這里以一個(gè)圖形為例),名為MyImage
code清單1



























這里的num是一個(gè)dataField中的值,這里可以用value.num來取到這個(gè)值
接下來,我們直接利用itemRenderer屬性把這個(gè)組件設(shè)置進(jìn)去就OK了
code清單2

當(dāng)然,我們除了加圖片還可以加入一些控件進(jìn)去。方法也如上就是了。
二、列表多表頭
用AdvancedDataGrid來繪制多表頭。如果有上下兩層的表頭,那么主表頭就用AdvancedDataGridColumnGroup標(biāo)簽,子表頭用AdvancedDataGridColumn嵌在AdvancedDataGridColumnGroup標(biāo)簽內(nèi)就可以了。
code清單3























這里值得注意的有幾個(gè)屬性:
headerSortSeparatorSkin:用于定義 AdvancedDataGrid 控件中標(biāo)題的文本和圖標(biāo)部分之間分隔符的外觀。這個(gè)東西主要是用來去掉AdvancedDataGrid多表頭旁邊的一個(gè)線條。
variableRowHeight:一個(gè)標(biāo)志,指示各行是否可以采用不同的高度。
更多的樣式請參考...
http://www.tkk7.com/zhangyuan/archive/2010/08/27/330064.html
三、Chart雙坐標(biāo)軸
在Chart標(biāo)簽中實(shí)際上除了dataProvider還有secondDataProvider這樣的屬性,也有類似secondSeries的一系列標(biāo)簽,這些標(biāo)簽都是為雙坐標(biāo)軸服務(wù)的。要做雙坐標(biāo)的圖表其實(shí)很簡單..
code清單4
showDataTips="true" dataProvider="{monthData}" secondDataProvider="{monthGrowData}">
<mx:horizontalAxis>
<mx:CategoryAxis categoryField="month"/>
</mx:horizontalAxis>
<mx:series>
<mx:ColumnSeries xField="month" showDataEffect="{interpolateIn}" yField="arr1"
displayName="本年管理費(fèi)用" fill="{sc1}" stroke="{s1}" />
<mx:ColumnSeries xField="month" showDataEffect="{interpolateIn}" yField="arr2"
displayName="去年同期管理費(fèi)用" fill="{sc2}" stroke="{s2}" />
</mx:series>
<mx:secondSeries>
<mx:LineSeries yField="arr1" showDataEffect="{interpolateIn}"/>
</mx:secondSeries>
</mx:ColumnChart>
四、Chart中自定義提示(labelFunction)
在Chart的Series中,有l(wèi)abelFunction屬性,這個(gè)屬性是為了擴(kuò)展提示用的
code清單5






這里的showlabel其實(shí)就是現(xiàn)實(shí)提示的這個(gè)方法,那么我們在as中定義好這個(gè)方法
code清單6




這里是餅圖的幾個(gè)參數(shù)
其中通過data.xxx可以取到數(shù)據(jù),percentValue是餅圖自動(dòng)計(jì)算出的百分比數(shù)。
如果想圖個(gè)簡單,不用那個(gè)百分比可以這樣寫
code清單7
private function showlabel(hitData:HitData):String {
return "<font size='12'>"+hitData.item.org+"</font><br>"+hitData.item.num2+"%";
}
效果都還不錯(cuò)
五、Chart的漸變色
這里的漸變分背景漸變和圖表元素漸變
先來說下背景漸變:
經(jīng)理以ColumnChart為例
code清單7






GradientEntry標(biāo)簽代表漸變的顏色,顯然這里只有從#02817c到#ffffff的漸變效果,那么直接把這個(gè)代碼加在ColumnChart標(biāo)簽里就可以了。
圖表元素漸變和背景漸變差不多
code清單8












這樣非常好看