Content

Flex中对表格某列的值进行数字格式化并求百分比添加%(Flex布局阮一峰)全程干货

文章摘要

本文通过Flex框架和mx库展示了如何使用Flex开发一个数据表格应用。文章详细介绍了如何在表格中绑定数据,并自定义了格式化函数以将比率字段的数值转换为百分比形式。通过mx.collections和mx.events库,实现了对数据的动态绑定和显示。代码示例中,作者展示了如何将一周七天的“星期”、“苹果”和“比率”数据以表格形式呈现,并通过自定义的`formatDataGrid`函数实现了比率的百分比格式化。文章还描述了表格的布局和样式设置,包括数据网格的宽度、高度、对齐方式等。整体来看,文章重点介绍了使用Flex和mx构建一个功能性的数据展示应用。

 <?xml version=”1.0″ encoding=”utf-8″?> <s:Application xmlns:fx=”http://ns.adobe.com/mxml/2009″ xmlns:s=”library://ns.adobe.com/flex/spark” xmlns:mx=”library://ns.adobe.com/flex/mx” width=”100%” height=”100%” fontSize=”12″ fontFamily=”微软雅黑”> <s:layout> <s:BasicLayout/> </s:layout> <fx:Script> <![CDATA[ import mx.collections.ArrayCollection; import mx.events.FlexEvent; [Bindable] //表格数据绑定 private var gridArray:ArrayCollection=new ArrayCollection([ {week:”星期一”,apple:”3676″,rate:”0.7868″}, {week:”星期二”,apple:”4534″,rate:”0.65454″}, {week:”星期三”,apple:”6758″,rate:”0.876454″}, {week:”星期四”,apple:”9808″,rate:”0.34224″}, {week:”星期五”,apple:”6567″,rate:”0.9876523″}, {week:”星期六”,apple:”9000″,rate:”0.566777″}, {week:”星期日”,apple:”4533″,rate:”0.988787″} ]); private function formatDataGrid(item:Object,column:DataGridColumn):String { var tempData:Number=item.rate*100; var data:String=dataFormatter.format(tempData); return data+”%”; } ]]> </fx:Script> <fx:Declarations> <!–格式化数字–> <mx:NumberFormatter id=”dataFormatter” precision=”2″ rounding=”up”/> </fx:Declarations> <mx:VBox width=”100%” height=”100%” paddingBottom=”10″ paddingLeft=”10″ paddingRight=”20″ paddingTop=”10″ horizontalAlign=”center”> <mx:DataGrid id=”dataGrid” width=”100%” height=”90%” dataProvider=”{gridArray}” textAlign=”center”> <mx:columns> <mx:DataGridColumn headerText=”星期” dataField=”week”/> <mx:DataGridColumn headerText=”苹果” dataField=”apple”/> <mx:DataGridColumn headerText=”比率” dataField=”rate” labelFunction=”formatDataGrid”/> </mx:columns> </mx:DataGrid> </mx:VBox> </s:Application>