FLEX中的一些小技巧
?在FLEX开发中有一些小技巧,经理在这里总结下,方便以后查阅,也希望能和大家一起交流。 一、在DataGrid的列中加图片 <?xml version="1.0" encoding="utf-8"?> <mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" verticalAlign="middle" horizontalAlign="right"> <mx:Script> <![CDATA[ override public function set data(value:Object):void{ if(value != null) { if(value.num != null) { show.text = value.num; if(Number(value.num)>100) { imga.source = "img/up.png"; } else { imga.source = "img/down.png"; } } } } ]]> </mx:Script> <mx:Label id="show" textAlign="right" /> <mx:Image id="imga" width="18" height="17"/> </mx:HBox> 这里的num是一个dataField中的值,这里可以用value.num来取到这个值 接下来,我们直接利用itemRenderer属性把这个组件设置进去就OK了 < mx:DataGridColumn?dataField = " num " ?itemRenderer = " MyImage " ?headerText = " 上月环比(%) " ?fontSize = " 12 " /> ? 当然,我们除了加图片还可以加入一些控件进去。方法也如上就是了。
< mx:AdvancedDataGrid?headerColors = " [#60beff,#1273ce] " ?alternatingItemColors = " [#FFFDCE,?#C8ECFF] " ???????????id = " dataGrid " ?click = " onXMLLoaded(); "???????????dataProvider = " {array_datas} "???????????width = " 100% " ?height = " 85% "???????????variableRowHeight = " true " ?fontSize = " 12 "???????????headerSortSeparatorSkin = " mx.skins.ProgrammaticSkin "???????????wordWrap = " true " >???????? < mx:groupedColumns >? ???????? < mx:AdvancedDataGridColumn?dataField = " org " ?headerText = " 单位 " ?headerWordWrap = " true " ? />???????? < mx:AdvancedDataGridColumnGroup?id = " shuma " ?headerText = " 管理费用总额(万元) " ?textAlign = " center " >?????????????? < mx:AdvancedDataGridColumn?dataField = " arr1 " ?headerText = " 2010年上半年 " ? />?????????????? < mx:AdvancedDataGridColumn?dataField = " arr2 " ?headerText = " 上年同期 " ? />?????????????? < mx:AdvancedDataGridColumn?dataField = " arr3 " ?itemRenderer = " MyImage " ?headerText = " 同比增长(%) " ? />???????? </ mx:AdvancedDataGridColumnGroup >???????? < mx:AdvancedDataGridColumnGroup?id = " baiyuan " ?headerText = " 百元收入管理费用(元) " ?textAlign = " center " >?????????????? < mx:AdvancedDataGridColumn?dataField = " brr1 " ?headerText = " 2010年上半年 " ? />?????????????? < mx:AdvancedDataGridColumn?dataField = " brr2 " ?headerText = " 上年同期 " ? />?????????????? < mx:AdvancedDataGridColumn?dataField = " brr3 " ?itemRenderer = " MyImage " ?headerText = " 同比增长(%) " ? />???????? </ mx:AdvancedDataGridColumnGroup >???????? </ mx:groupedColumns ></ mx:AdvancedDataGrid > 这里值得注意的有几个属性: 三、Chart双坐标轴
<
mx:ColumnChart?id
=
"
column
"
?height
=
"
100%
"
?width
=
"
100%
"
?paddingLeft
=
"
5
"
?paddingRight
=
"
5
"
?fontSize
=
"
12
"
?????????????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) < mx:PieChart?id = " chart " ?height = " 100% " ?width = " 100% " ?paddingRight = " 5 " ?paddingLeft = " 5 " ? ?showDataTips = " true " ?dataProvider = " {data.data1} " > ??????????? < mx:series >?? < mx:PieSeries?nameField = " org " ?labelPosition = " callout " ?field = " hav " ?labelFunction = " showlabel " ? />? </ mx:series ></ mx:PieChart >
private
?function?showlabel(data:Object,?percentValue:Number):String?
{
?var?temp:String =?("?"?+?percentValue).substr(0,6);? return?data.org?+?":?"?+?'n'?+?"累计中标额:?"?+?data.hav?+?"(万元)"?+?'n'?+?temp?+?"%";}
如果想图个简单,不用那个百分比可以这样写 效果都还不错 五、Chart的渐变色 code清单7 ? < mx:fill > ? < mx:LinearGradient?angle = " 70 " >?? < mx:GradientEntry?color = " #02817c " ? />?? < mx:GradientEntry?color = " #ffffff " ? />? </ mx:LinearGradient ></ mx:fill > ? GradientEntry标签代表渐变的颜色,显然这里只有从#02817c到#ffffff的渐变效果,那么直接把这个代码加在ColumnChart标签里就可以了。 图表元素渐变和背景渐变差不多 code清单8 ? < mx:ColumnSeries?yField = " percomplete " > ?????? < mx:fill >??????? < mx:LinearGradient >???????? < mx:GradientEntry?color = " #810202 " ?ratio = " 0 " ?? />???????? < mx:GradientEntry?color = " #e30b0b " ?ratio = " .2 " ?? />???????? < mx:GradientEntry?color = " #ffffff " ?ratio = " .4 " ?? />???????? < mx:GradientEntry?color = " #e30b0b " ?ratio = " .8 " ?? />???????? < mx:GradientEntry?color = " #810202 " ?ratio = " 1 " ?? />??????? </ mx:LinearGradient >?????? </ mx:fill >????? </ mx:ColumnSeries >
原文地址:http://www.blogjava.net/zhangyuan/archive/2010/09/03/330847.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |