DataGrid中的labelFunction 作用是确定此列中显示文本的函数。默认情况下,列显示与列名称匹配的数据字段的文本。不过,有时您希望显示基于多个数据字段的文本,或显示不具备自己想要格式的文本。在这种情况下,可使用 labelFunction 指定一个回调函数。
对于 DataGrid 控件,方法签名具有以下格式:
labelFunction(item:Object, column:DataGridColumn):String
其中,item 包含 DataGrid 项目对象,并且 column 指定 DataGrid 列。
此属性可用作数据绑定的源代码。
这里只是简单的将邮件中的中文名 显示出来
当然 也可以做更复杂的应用
from http://blog.csdn.net/winnershili/archive/2011/01/19/6152151.aspx
对于 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