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



























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

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























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






這里的showlabel其實就是現實提示的這個方法,那么我們在as中定義好這個方法
code清單6




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






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












這樣非常好看