Flex DataGrid的labelFunction用法例子
发布时间:2020-12-15 04:06:57 所属栏目:百科 来源:网络整理
导读:API: mx.controls.dataGridClasses.DataGridColumn.labelFunction(value:Function):void 确定此列中显示文本的函数。默认情况下,列显示与列名称匹配的数据字段的文本。不过,有时您希望显示基于多个数据字段的文本,或显示不具备自己想要格式的文本。在这种
API:mx.controls.dataGridClasses.DataGridColumn.labelFunction(value:Function):void
对于 DataGrid 控件,方法签名具有以下格式: labelFunction(item:Object,column:DataGridColumn):String 其中, 回调函数可能会连接数据中的 firstName 和 lastName 字段,或者对 Date 设置某些自定义格式,也可能将月的数字形式转换为字符串形式。 此属性可用作数据绑定的源代码。
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init(event)" width="100%" height="100%"> <mx:Script> <![CDATA[ import mx.collections.ArrayCollection; import mx.events.FlexEvent; [Bindable] private var arr:ArrayCollection=new ArrayCollection(); protected function init(event:FlexEvent):void { for(var i:Number=1;i<6;i++){ var obj:Object=new Object(); obj.name="小"+i; obj.age=20+i; obj.sex=i%2==1?1:2; arr.addItem(obj); } } private function dataGridRowNum(item:Object,column:int):String { var index:int=this.dg.dataProvider.getItemIndex(item) + 1; return String(index); } private function labelFunction(item:Object,column:DataGridColumn):String { var s:String=item[column.dataField]; switch (column.dataField) { case "sex": if(s=="1"){ s="男"; }else if(s=="2"){ s="女"; }else{ s="未知"; } break; } return s; } ]]> </mx:Script> <mx:DataGrid width="100%" height="100%" id="dg" dataProvider="{arr}"> <mx:columns> <mx:DataGridColumn headerText="行号" labelFunction="dataGridRowNum"/> <mx:DataGridColumn headerText="姓名" dataField="name"/> <mx:DataGridColumn headerText="年龄" dataField="age"/> <mx:DataGridColumn headerText="性别1" dataField="sex"/> <mx:DataGridColumn headerText="性别2" dataField="sex" labelFunction="labelFunction"/> </mx:columns> </mx:DataGrid> </mx:Application> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |