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 >
接下来,我们直接利用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 >
? ? ? ? ? ? ?
FLEX中一些比较重要的标签和属性
在使用flex过程中经常会对调样式感到头痛,经理在这里准备把常用的一些东东总结一下,以便以后查阅。 二、Panel 三、DataGrid&AdvancedDataGrid 四、Chart ?
?1
<
mx:BarSeries?xField
=
"
costs
"
?
>
?2 ???????????????????????? < mx:fill > ?3 ???????????????????????????? < mx:LinearGradient > ?4 ???????????????????????????????? < mx:GradientEntry?color = " #A6A602 " ?ratio = " 0 " ?? /> ?5 ???????????????????????????????? < mx:GradientEntry?color = " #DFDF97 " ?ratio = " .2 " ?? /> ?6 ???????????????????????????????? < mx:GradientEntry?color = " #A6A602 " ?ratio = " .4 " ?? /> ?7 ???????????????????????????????? < mx:GradientEntry?color = " #F5F655 " ?ratio = " .8 " ?? /> ?8 ???????????????????????????????? < mx:GradientEntry?color = " #A6A602 " ?ratio = " 1 " ?? /> ?9 ???????????????????????????? </ mx:LinearGradient > 10 ???????????????????????? </ mx:fill > 11 ???????????????????? </ mx:BarSeries > ?
? ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |