labelFunction

    默认情况下,在Flex 中基于List 的控件都是使用dataProvider 中的元素的label 属性来做显示。在一些情况中,无论如何,dataProvideer 中都没有label 属性存在,这些情况就需要你来设定连接dataProvider 中的多个字段来实现一个显示值。这个labelFunction 属性允许用户定义自己的方法来呼叫dataProvider 中每个元素,然后对于每个元素返回显示值。如下范例,ComboBox 的labelFunction 属性包含了一个getFullName 函数的引用,这个函数连接了dataProvider 中单个元素的Name 和Value字段来返回一个全名的字串。

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
				layout="absolute">
	<mx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;

			[Bindable]
			private var dataProvider:ArrayCollection=new ArrayCollection([{id: 1, Name: "book", Value: "java"}, {id: 2, Name: "book", Value: "flex"}]);

			private function getFullName(item:Object):String
			{
				return item.Name + " " + item.Value;
			}
		]]>
	</mx:Script>

	<mx:ComboBox id="cb"
				 dataProvider="{dataProvider}"
				 labelFunction="getFullName"/>
</mx:Application>

 

 

 

可以将查询结果列表展示到一个单选框组件中。具体的实现步骤如下: 创建一个单选框组件,可以使用 flex 自带的 RadioButtonGroup 组件或者自定义单选框组件。 将查询结果列表绑定到单选框组件的dataProvider属性上。例如: 复制 <s:RadioButtonGroup id="radioGroup" dataProvider="{queryResultList}" /> 在单选框组件中设置 labelFunction 属性,用于指定每个单选框的显示文本。例如: 复制 <s:RadioButtonGroup id="radioGroup" dataProvider="{queryResultList}" labelFunction="getResultLabel" /> 其中 getResultLabel 是一个自定义的函数,用于返回每个单选框的显示文本。 在 getResultLabel 函数中,根据查询结果列表中的数据,构造每个单选框的显示文本。例如: 复制 private function getResultLabel(item:Object):String { return item.name + " - " + item.value; } 上述代码中,假设查询结果列表中每个元素都有 name 和 value 两个属性,getResultLabel 函数将这两个属性拼接起来作为每个单选框的显示文本。 最后,为单选框组件添加事件监听器,用于在用户选择单选框时执行相应的操作。例如: 复制 <s:RadioButtonGroup id="radioGroup" dataProvider="{queryResultList}" labelFunction="getResultLabel" change="onRadioChange(event)" /> 上述代码中,onRadioChange 函数是一个自定义的事件处理函数,用于响应单选框选择事件并执行相应的操作。选中之后要保存,onRadioChange(event)要怎么写
05-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值