Flex4中使用labelFunction

DataGrid中的labelFunction 作用是确定此列中显示文本的函数。默认情况下,列显示与列名称匹配的数据字段的文本。不过,有时您希望显示基于多个数据字段的文本,或显示不具备自己想要格式的文本。在这种情况下,可使用 labelFunction 指定一个回调函数。

对于 DataGrid 控件,方法签名具有以下格式:

labelFunction(item:Object, column:DataGridColumn):String
其中,item 包含 DataGrid 项目对象,并且 column 指定 DataGrid 列。

此属性可用作数据绑定的源代码。
<?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" minWidth="955" minHeight="600">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Declarations>

<s:XMLListCollection id="eList" >
<fx:XMLList>
<employee>
<name>刘德华</name>
<phone>555-219-2270</phone>
<email>liudehua@qq.com</email>
</employee>
<employee>
<name>张曼玉</name>
<phone>555-219-2012</phone>
<email>zhangmanyu@qq.com</email>
</employee>
<employee>
<name>郭富城</name>
<phone>555-219-2012</phone>
<email>guofucheng@qq.com</email>
</employee>
<employee>
<name>赵薇</name>
<phone>555-219-2000</phone>
<email>zhaowei@qq.com</email>
</employee>
</fx:XMLList>
</s:XMLListCollection>



</fx:Declarations>

<fx:Script>
<!--[CDATA[
public function getEnglishName(item:Object, column:DataGridColumn):String
{
return item.email.split("@")[0];

}
]]-->
</fx:Script>
<mx:DataGrid x="243" y="209" dataProvider="{eList}">
<mx:columns>
<mx:DataGridColumn headerText="中文名" dataField="name"/>
<mx:DataGridColumn headerText="英文名" labelFunction="getEnglishName"/>
<mx:DataGridColumn headerText="电话号" dataField="phone"/>
</mx:columns>
</mx:DataGrid>
</s:Application>

这里只是简单的将邮件中的中文名 显示出来

当然 也可以做更复杂的应用

from http://blog.csdn.net/winnershili/archive/2011/01/19/6152151.aspx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值