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>[email protected]</email>  
                </employee>  
                <employee>  
                    <name>张曼玉</name>  
                    <phone>555-219-2012</phone>  
                    <email>[email protected]</email>  
                </employee>  
                <employee>  
                    <name>郭富城</name>  
                    <phone>555-219-2012</phone>  
                    <email>[email protected]</email>  
                </employee>  
                <employee>  
                    <name>赵薇</name>  
                    <phone>555-219-2000</phone>  
                    <email>[email protected]</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

你可能感兴趣的:(.net,xml,qq,Blog)