Flex AdvancedDataGrid对某列数值格式化

来源:互联网 发布:中文翻译拼音软件 编辑:程序博客网 时间:2024/06/10 22:04

对面积与百分比两列的数值进行格式,保留小数点后两位数。

第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>




 

0 0
原创粉丝点击