加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex AdvancedDataGrid对某列数值格式化

发布时间:2020-12-15 03:39:48 所属栏目:百科 来源:网络整理
导读:对面积与百分比两列的数值进行格式,保留小数点后两位数。 第1种方法是利用labelFunction指定回调函数; 第2种方法是利用itemRenderer填充数据项方法。 ?xml version="1.0" encoding="utf-8"?s:Application ...fx:Script ![CDATA[ import mx.formatters.Numb

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读