Combox默认将对象中名为label的属性作为显示用的labelField
ComboBox中存放的list(这里list泛指array/arraylist/arraycollection等),如果list中的Object有label这个属性,则你不必为该comboBox指定显示用的labelField,默认就会用label这个属性作为labelField。下页面的例子就说明了这个问题:
http://livedocs.adobe.com/flex/3_cn/langref/mx/controls/ComboBox.html引用
<?xml version="1.0"?>
<!-- Simple example to demonstrate the ComboBox control. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
public var cards:ArrayCollection = new ArrayCollection(
[ {label:"Visa", data:1},
{label:"MasterCard", data:2},
{label:"American Express", data:3} ]);
private function closeHandler(event:Event):void {
myLabel.text = "You selected: " + ComboBox(event.target).selectedItem.label;
myData.text = "Data: " + ComboBox(event.target).selectedItem.data;
}
]]>
</mx:Script>
<mx:Panel title="ComboBox Control Example"
height="75%" width="75%" layout="horizontal"
paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10">
<mx:ComboBox dataProvider="{cards}" width="150"
close="closeHandler(event);"/>
<mx:VBox width="250">
<mx:Text width="200" color="blue" text="Select a type of credit card."/>
<mx:Label id="myLabel" text="You selected:"/>
<mx:Label id="myData" text="Data:"/>
</mx:VBox>
</mx:Panel>
</mx:Application>
如果将样例代码中的ArrayCollection cards 中的object的名为label的属性去掉,则在ComboBox中使用它作为dataProvider时必须为该ComboBox指定labelField。否则会得到如下的结果:
在FLEX3及之前的<mx:ComboBox id="mxComboBoxId" />中所放对象的名为data的属性也是有特殊含义的:
如果<mx:ComboBox />中放的是对象有名为data的属性,你可以通过mxComboBoxId.value直接取到data属性的值。
可惜的是,FLEX4之后,Adobe建议使用<s:ComboBox />替换原来的<mx:ComboBox />;而新的<s:ComboBox />已经没有了value属性:
http://flex.sys-con.com/node/312098
对于ComboBox,有labelField可以用来得到combobox中显示的文本的内容;可是多数应用场景中,combobox中作为labelField显示的是描述或者中文文本信息,而保存时应该是存combobox中所选项的业务主键的。
对于一个修改vo的场景:
假设comboBox里放的是类型信息userType。
userVo里某字段存的是comboBox所列举userType的业务主键。
combobox在修改页面初始化时所展现的肯定应该是已被当前所修改vo选定的业务主键对应的labelField。这里有个问题:那怎么样通过vo.userTypeId:String定位到ArrayCollection<UserType>中对应的那条userType记录,而从使comboBox正确的显示为userVo修改前的用户类型信息那?
Adobe并没有为我们提供类似labelField那样的dataField或者说valueField。所以,我们只能自己想办法去做这个定位工作。
Flex ComboBox With selectedValue Support:
http://www.forta.com/blog/index.cfm/2006/11/22/Flex-ComboBox-With-selectedValue-Support
Set the selected item for a comboBox or dataGrid :
http://www.cflex.net/showFileDetails.cfm?ObjectID=229&Object=File&ChannelID=1
checkbox作为datagird的列:
http://srinichekuri.wordpress.com/
Vector 不能用作dataprovider
radioButton:
http://colourgray.wordpress.com/2008/08/11/flex-getting-selected-radiobutton-value/
http://blog.flexexamples.com/2008/01/06/clearing-a-selected-radiobutton-control-in-flex/
- 大小: 6.2 KB
分享到:
相关推荐
标题中的“Flex Component”指的是Adobe Flex中的组件,它是一个开源框架,主要用于构建富互联网应用程序(RIA)。Flex组件库包括了一系列预定义的用户界面元素,如按钮、文本输入字段、列表等,开发者可以使用这些...
这里,`component`是你要保存的Flex组件,`width`和`height`是它的尺寸,`true`表示使用Alpha通道,`0`是背景色。 3. **转换为PNG图像** `BitmapData`对象可以与`flash.display.Bitmap`类一起使用,以显示在舞台...
Flex分页组件是一种在Flex应用程序中用于展示大量数据并分批加载的重要工具。它通过将大量数据分成小块,每次只加载一部分,提高了用户界面的响应速度和用户体验。本组件适用于那些需要显示大量数据,如表格、列表...
安装了 Flex Builder 插件的Eclipse项目工程 博文链接:https://lib.iteye.com/blog/203060
Flex图形组件是Adobe Flex框架中用于创建交互式、可视化数据展示的重要组成部分。这些组件允许开发者构建复杂的用户界面,包括图表、图形以及各种形式的数据可视化工具。在本篇中,我们将深入探讨Flex图形组件的原理...
Flex3组件介绍,包含flex3的所有组件介绍并有例子
Adobe Flex 3 Component Explore 是一个专门针对Flex 3框架的学习和参考工具,它为开发者提供了一个直观的平台来探索和理解Flex组件的使用和功能。Flex 3是Adobe开发的一个开源框架,主要用于构建富互联网应用程序...
在Flex中,自定义组件是开发者根据项目需求创建的特殊UI元素,可以扩展和定制标准的MX或Spark组件。本示例着重于一个名为“ImageViewer”的自定义组件,这通常是一个用于展示图像并可能包含缩放、平移等交互功能的...
Flex Component Kit for Flash CS3 是一个专门为Adobe Flash CS3设计的插件,它极大地扩展了Flash开发工具的功能,使得开发者可以更加便捷地在Flex项目中重用和集成由Flash创建的组件。Flex是一种开放源代码的框架,...
【JSP调用Flex4组件演示代码】是一个典型的Web应用程序开发示例,它结合了Java服务器页面(JSP)和Adobe Flex4技术,展示了这两者之间的交互。在现代Web开发中,这种混合技术允许开发者利用Flex4的强大富互联网应用...
在Flex开发中,时间组件(Time)是用于展示和处理时间数据的重要元素。它通常用于构建用户界面,让用户能够选择或输入时间值。本篇文章将深入探讨Flex中的Time组件,了解其基本用法、功能特性以及如何自定义和扩展。...
在本文中,我们将深入探讨Flex特效组件的用法及其在自定义控件中的应用。Flex布局是一种强大的CSS布局模式,允许我们创建响应式和灵活的用户界面。它特别适合用于现代网页和移动应用的设计,因为它可以自动调整元素...
本主题将深入探讨如何在Flex中实现组件DataGrid的数据导出功能,使其能够生成Excel文件供用户下载和处理。 DataGrid是Flex中常用的一个组件,它用于展示结构化数据,通常用于表格形式的展示。在Flex中,我们可以...
Flex Tree组件是Adobe Flex框架中的一个关键元素,用于展示层次结构数据。在默认情况下,Tree组件的节点之间通常使用虚线进行连接,以表示它们之间的层级关系。然而,有时候我们可能需要自定义这些连接线,比如将...
在Flex开发中,自定义组件和事件通讯是构建复杂应用程序的关键技术。本示例通过一个简单的用户登录场景,深入解析了如何实现组件间的有效通信。下面将详细解释Flex自定义组件、事件处理以及它们在实际应用中的作用。...
此外,Flex Component Kit还支持自定义属性和事件的绑定,使得Flash组件在Flex中的行为可以更加灵活和多样化。通过这种方式,开发者可以充分利用Flex的强大多层架构和数据绑定机制,将Flash组件无缝融入到复杂的Flex...
使用ActionScript 3(AS3)编写组件皮肤是Flex开发中的一个高级话题,涉及到组件生命周期、视觉设计、用户交互等多个方面的深入理解。组件生命周期包括组件的创建、初始化、状态变化、渲染以及销毁等重要时刻,...
Flex 3 组件的帮助文档,解压后近4兆。