对面积与百分比两列的数值进行格式,保留小数点后两位数。
第1种方法是利用labelFunction指定回调函数;
第2种方法是利用itemRenderer填充数据项方法。
<?xml version="1.0" encoding="utf-8"?>
<s:Application ...
<fx:Script>
<![CDATA[
import mx.formatters.NumberFormatter;
private function foramtNumberField(item:Object,column:Object):String{
var numberFormatter:NumberFormatter=new NumberFormatter();
var value:Number=item[column.dataField];
numberFormatter.precision="2";
return numberFormatter.format(value);
}
]]>
</fx:Script>
<mx:AdvancedDataGrid ....>
<mx:dataProvider>
...
</mx:dataProvider>
<mx:columns>
...
<mx:AdvancedDataGridColumn dataField="MianJi" headerText="面积"
labelFunction="foramtNumberField" />
<mx:AdvancedDataGridColumn headerText="百分比">
<mx:itemRenderer>
<fx:Component>
<mx:HBox width="100%" height="100%" >
<fx:Script>
<![CDATA[
override public function set data(value:Object):void{
super.data=value;
txtBaiFen.text=Number(value.BaiFen).toFixed(2);
}
]]>
</fx:Script>
<s:Label id="txtBaiFen" />
</mx:HBox>
</fx:Component>
</mx:itemRenderer>
</mx:AdvancedDataGridColumn>
</mx:columns>
</mx:AdvancedDataGrid>
</s:Application>
---------------------------------------------------
对某列AdvancedDataGridColumn应用样式可以用回调函数styleFunction方法实现
function myStyleFunction(data:Object, column:AdvancedDataGridColumn):Object
data
— 与正在呈示的项目相关联的数据对象;
column
— 项呈示器与之相关联的 AdvancedDataGridColumn 实例;
返回值应该是样式的属性具有所需值的对象,如:{ color:0xFF0000, fontWeight:"bold" }
<fx:Style>
....
.advNumColumnStyle{
paddingRight:10;
textAlign:right;
fontSize:13;
fontFamily:Arial;
color:#232323;
}
</fx:Style>
<fx:Script>
<![CDATA[
private function numColumnStyleFunc(data:Object,column:AdvancedDataGridColumn):Object{
return{styleName:"advNumColumnStyle"};
// return:{ color:0xFF0000, fontWeight:"bold" };
}
]]>
</fx:Script>
mx:AdvancedDataGrid控件
<mx:columns>
...
<mx:AdvancedDataGridColumn dataField="面积" headerText="面积(平方米)"
styleFunction="numColumnStyleFunc" />
...
</mx:columns>