第四章 第四节使用列表控件

你可以在程序中使用列表控件,如ComboBox,List 或HorizontalList。在插入这些类型
的控件后,你必须装入内容并进行显示。在Flex 中,控件是由数据提供器来进行组装的,
它就象一个类似于数组的对象收集器。
在本节中,你将学习如何装入列表控件并进行显示。
插入并放置控件
首先,创建一个简单的布局,在其中包含一个ComboBox 控件和一个submit 按钮。
1. 在导航视图中选定Lessons 项目,选择File > New > MXML Application 并创建一个名
叫ListControl.mxml 的文件。
2. 将ListControl.mxml 文件设计为被编译的默认文件,并在关联菜单中选择Set As
Default Application from the context menu。
3. 在MXML 编辑器的设计模式下,从组件视图中拖拉一个面板容器到布局上,并在属
性视图中设置相应的属性:
Title: Rate Customer Service
Width: 350
Height: 200
X: 10
Y: 10
4. 从组件视图中拖拉出其它所需的控件到面板容器中:
ComboBox
Button
5. 在布局中选择ComboBox 控件,并在属性视图中对它的相应属性进行设置:
ID: cbxRating
X: 20
Y: 20
ComboBox 控件现在并没有显示任何项,你需要稍后装入它们。
6. 选择Button 控件并进行相应在的属性设置:
Label: Send
X: 140
Y: 20
本例的布局在设计模式下看起来就象这样:

7. 切换到编辑器的源代码模式下,在ListControl.mxml 文件中输入随后的MXML 代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Panel x="10" y="10" width="350" height="200" layout="absolute"
title="Rate Customer Service">
<mx:ComboBox x="20" y="20" id="cbxRating"></mx:ComboBox>
<mx:Button x="140" y="20" label="Send"/>
</mx:Panel>
</mx:Application>
8. 保存文件,编译后运行。如下图所示:

9. 点击浏览器中的ComboBox 控件。
这时并没有显示任何项,因为你还没有定义它的数据提供者。
装载列表
你可以使用<mx:dataProvider>子标签来装载列表控件。<mx:dataProvider>标签使你可以
用几种方法来指定列表项。最简单的方法就是指定一个字符串数据,就象随后所示。
1. 在编辑器的源代码模式下,在<mx:ComboBox>标签对中输入:
<mx:dataProvider>
<mx:Array>
<mx:String>Satisfied</mx:String>
<mx:String>Neutral</mx:String>
<mx:String>Dissatisfied</mx:String>
</mx:Array>
</mx:dataProvider>
2. 保存文件,编译后运行。
3. 点击ComboBox 控件去查看列表项。

如果你想要访问ComboBox 控件中所选项的值,你可以使用随后的表达式:
cbxRating.value
在本例中,ComboBox 控件(cbxRating.value)的value 属性可以是Satisfied,Neutral
或Dissatisfied。
5. 为了测试控件,在ListControl.mxml 文件中的<mx:Button>标签中插入随后内容:
<mx:Label x="20" y="120" text="{cbxRating.value}" />
波浪括号({ })里的表达式用来将ComboBox 控件的数值属性,cbxRating.value 绑定
到Label 控件的文本属性上。换而言之,Lable 控件的文本属性是由ComboBox 控件中的所
选项的数值来决定的。
6. 保存文件,编译后运行。
将列表项与数值相关联
将列表项与数值进行关联的方法与在你在HTML 中使用SELECT 一样。
使用一个对象组件数据来装载ComboBox 控件。在<mx:Object>标签中你定义了一个
label 属性,它包含了在ComboBox 中显示的字符串,以及想要进行关联的数据。
1. 在编辑器的源代码模式下,用随后的<mx:Object>标签代替掉三个<mx:String>标签:
<mx:Object label="Satisfied" data="5"/>
<mx:Object label="Neutral" data="3"/>
<mx:Object label="Dissatisfied" data="1"/>
如果你想要访问ComboBox 控件中被选项的数值,你可以在代码中使用随后的表达式:
cbxRating.value
2. 保存文件,编译后运行。
在本节中,你学习了在Flex 应用程序中插入列表控件,并进行数据的装载。

加支付宝好友偷能量挖...


评论(0)网络
阅读(104)喜欢(0)flash/flex/fcs/AIR