2.6.设置控件的labelFunction
2.6.1. 问题
我需要组合一个数据提供器中不同的字段来自定义ComboBox 组件的显示文本。
2.6.2. 解决办法
使用ComboBox 组件的labelFunction 属性来指定定义显示文本的自定义函数。
2.6.3. 讨论
默认情况下,在Flex 中基于List 的控件都是使用dataProvider 中的元素的label 属性来做显示。在一些情况中,无论如何,dataProvideer 中都没有label 属性存在,这些情况就需要你来设定连接dataProvider 中的多个字段来实现一个显示值。这个labelFunction 属性允许用户定义自己的方法来呼叫dataProvider 中每个元素,然后对于每个元素返回显示值。如下范例,ComboBox 的labelFunction 属性包含了一个getFullName 函数的引用,这个函数连接了dataProvider 中单个元素的fName 和lName 字段来返回一个全名的字串。
我需要组合一个数据提供器中不同的字段来自定义ComboBox 组件的显示文本。
2.6.2. 解决办法
使用ComboBox 组件的labelFunction 属性来指定定义显示文本的自定义函数。
2.6.3. 讨论
默认情况下,在Flex 中基于List 的控件都是使用dataProvider 中的元素的label 属性来做显示。在一些情况中,无论如何,dataProvideer 中都没有label 属性存在,这些情况就需要你来设定连接dataProvider 中的多个字段来实现一个显示值。这个labelFunction 属性允许用户定义自己的方法来呼叫dataProvider 中每个元素,然后对于每个元素返回显示值。如下范例,ComboBox 的labelFunction 属性包含了一个getFullName 函数的引用,这个函数连接了dataProvider 中单个元素的fName 和lName 字段来返回一个全名的字串。
+展开
-XML
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="horizontal">
<mx:ComboBox dataProvider="{myDP}"
labelFunction="getFullName"/>
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
private var myDP:ArrayCollection =
new ArrayCollection([
{id:1,fName:"Lucky", lName:"Luke"},
{id:2, fName:"Bart", lName:"Simpson"}]);
private function getFullName(item:Object):String{
return item.fName + " " + item.lName;
}
]]>
</mx:Script>
</mx:Application>
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="horizontal">
<mx:ComboBox dataProvider="{myDP}"
labelFunction="getFullName"/>
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
private var myDP:ArrayCollection =
new ArrayCollection([
{id:1,fName:"Lucky", lName:"Luke"},
{id:2, fName:"Bart", lName:"Simpson"}]);
private function getFullName(item:Object):String{
return item.fName + " " + item.lName;
}
]]>
</mx:Script>
</mx:Application>
加支付宝好友偷能量挖...