Adobe
产品
Acrobat
Creative Cloud
创意套装
Digital Marketing Suite
Digital Publishing Suite
Elements
Photoshop
Touch Apps
更多产品
解决方案
数字营销
数字媒体
教育
金融服务业
政府部门
网页体验管理
更多解决方案
学习帮助下载公司
商店
在线商店
批量许可
查找经销商
搜索
 
信息 登录
欢迎,我的支持
我的帐户
注销
为何登录?登录后可以管理您的帐户,访问试用版下载、产品扩展和社区区域等。
Adobe
产品 分类 购买   搜索  
解決方案 公司
学习
登录 注销 我的货物 我的支持
Date Date
Qty:
Subtotal
Checkout
Adobe 开发者中心 / Flex 开发人员中心 /

在Flash Builder 4中生成表单

作者 Adobe

Shyamprasad P
  • flexedup.wordpress.com

Content

  • 入门
  • 为数据类型生成表单
  • 为服务调用生成表单
  • 生成master detail视图
  • 未来步骤

创建日期

1 November 2010

页面工具

在 Facebook 上共享
在 Twitter 上共享
在 LinkedIn 上共享
书签
打印

Tags

要求

必备知识

开发Flex应用程序的一定经验将对学习本教程有帮助。

用户级别

初级

必需产品

  • Flash Builder 4 (Download trial)

Flash Builder 4中一种新的以数据为中心的开发功能是表单生成,它将使Flex开发人员的开发工作更加轻松。现在,您可以为数据类型或服务调用自动生成表单代码,将控件与所需数据类型的属性绑定,所有这些只需单击几次鼠标即可完成。

本教程将介绍3种使用示例服务生成表单的不同方式。

入门

在Flash Builder中,您可以为以下内容生成表单:

  • 数据类型,可以自动生成与一种数据类型的每个属性绑定的控件。
  • 服务调用,可以为服务调用的输入参数或返回类型生成表单。
  • master detail view,当有一个显示一种数据类型实例的控件(例如一个List或ComboBox)时,可以生成一个表单来在控件中显示所选向的详细信息。

本教程中的示例使用了一项名为Population的服务,可以在此处获得。

执行以下步骤在Flash Builder 4中连接到该Web服务:

  1. 选择File > New > Flex Project
  2. 键入PopulationApp作为项目名称,选择None/Other作为应用程序服务器类型,单击Finish(参见图1)。
创建新项目
图1. 创建新项目
  1. 在Flash Builder中找到Data/Services视图。如果该视图未打开,选择Window > Data/Services(参见图2)。
Data/Services视图
图2. Data/Services视图
  1. 单击Connect To Service。
  2. 在Select Service Type对话框中,选择Web Service(参见图3)并单击Next。
选择Web Service作为服务类型
图3. 选择Web Service作为服务类型
  1. 对于WSDL URI,键入
    http://www.abundanttech.com/WebServices/Population/population.asmx?WSDL。
  2. 对于服务名称,键入Population(参见图4)。
  3. 单击Next。
连接到Web服务
图4. 连接到Web服务
  1. 在Flash Builder内省该服务之后,选择PopulationWSSoap作为端口(参见图5)。
  2. 单击Finish
配置代码生成
图5. 配置代码生成

现在可在Data/Services视图中看到该服务了(参见图6)。

Data/Services视图中的Population服务
图6. Data/Services视图中的Population服务

关于设置步骤的更详细说明,请参见我的博客文章Connecting to WebServices using the Data Centric Development (DCD) feature in Flash Builder 4。

为数据类型生成表单

作为第一个例子,您可以生成一个表单来输入具有Population_type类型的对象的详细信息:

  1. 在Data/Services视图中,右键单击Population_type并选择Generate Form(参见图7)。
从上下文菜单选择Generate Form
图7. 从上下文菜单选择Generate Form
  1. 在Generate Form对话框中,保留默认设置(参见图8)并单击Finish。
在Generate Form对话框中指定表单生成详细信息
图8. 在Generate Form对话框中指定表单生成详细信息
  1. 切换到Design视图查看生成的表单(参见图9)。
  2. 将表单标签从_Date更改为Date,使它看起来不那么奇怪。
Design视图中生成的表单
图9. Design视图中生成的表单
  1. 选择Run > Run PopulationApp运行应用程序。您将看到包含该数据类型的每个属性的可编辑表单(参见图10)。
可编辑的表单
图10. 可编辑的表单

您然后可以编辑Submit按钮的单击处理函数,为表单提供一种特定功能。

为服务调用生成表单

接下来介绍如何生成表单来显示从服务调用getWorldPopulation()返回的数据。

  1. 在Data/Services视图中,右键单击getWorldPopulation()服务调用并选择Generate Form(参见图11)。
从上下文菜单选择Generate Form
图11. 从上下文菜单选择Generate Form
  1. 在Generate Form对话框中,确保为PopulationService的getWorldPopulation()操作选择了New Service Call。
  2. 因为该表单显示从getWorldPopulation()操作返回的对象,所以选择Form For Return Type,取消选择Make Result Form Editable,然后单击Configure Return Type。
Generate Form对话框
图12. Generate Form对话框
  1. 选择Auto-detect The Return Type From Sample Data并单击Next(参见图13)。
Configure Return Type对话框
图13. Configure Return Type对话框
  1. 选择Use An Existing Data Type,然后选择Population_type(参见图14)。
  2. 单击Finish。
选择检测到的返回类型
图14. 选择检测到的返回类型
  1. 再次单击Generate Form对话框中的Finish(参见图15)。
配置了返回类型之后的Generate Form对话框
图15. 配置了返回类型之后的Generate Form对话框
  1. 当Flash Builder生成表单之后,您可以将它拖到Design视图中的新位置并像上一个示例中一样更改表单标签。
  2. 运行应用程序,查看生成的表单如何显示从getWorldPopulation()操作返回的值(参见图16)。
生成的表单显示了服务调用返回的世界人口
图16. 生成的表单显示了服务调用返回的世界人口

生成master detail视图

接下来将介绍如何创建master detail视图。在本示例中,一个ComboBox服务将充当master控件,显示数据类型的实例。表单显示在master控件中所选项的详细信息。

执行以下步骤查看它的工作原理:

  1. 在Design视图中,将一个ComboBox拖到应用程序上。这个ComboBox是您的master控件,它将显示一个国家列表。
  2. 右键单击该ComboBox并选择Bind To Data(参见图17)。
从上下文菜单选择Bind To Data
图17. 从上下文菜单选择Bind To Data
  1. 在Bind To Data对话框中,选择希望将ComboBox绑定到的服务和操作。在本例中,选择New Service Call,然后单击getCountries()操作(参见图18)。
  2. 单击OK。
将ComboBox绑定到数据
图18. 将ComboBox绑定到数据

您已成功将master控件与它的数据绑定。

  1. 运行应用程序并单击ComboBox控件,应该会看到一个国家列表(参见图19)。
图19. ComboBox显示了所有国家的列表
图19. ComboBox显示了所有国家的列表
  1. 要生成详细信息表单,邮件单击Design视图中的ComboBox,选择Generate Details Form(参见图20)。
从上下文菜单选择Generate Details Form
图20. 从上下文菜单选择Generate Details Form
  1. 在Generate Form对话框中,保持将Master-Detail选择为要生成的表单,确保取消选择了Make Form Editable,因为本例中不需要可编辑的表单。

    在本例中,Population服务具有一个名为getPopulation(String)的操作,它接受国家的名称作为参数并返回该国家的详细信息。

  2. 所以选择Call A Service To Get The Detail Data When The Master Selection Changes。
  3. 确保选择了该服务和getPopulation()操作(参见图21)。
  4. 单击Finish。
生成master detail表单
图21. 生成master detail表单

Flash Builder将切换到源视图和突出ComboBox的变化处理。你会看到下面的代码:

protected function comboBox_changeHandler(event:IndexChangeEvent):void { getPopulationResult.token = population.getPopulation(/*Enter value(s) for */ strCountry); }
  1. 将getPopulation(String)操作的参数更改为comboBox.selectedItem.toString()。

    生成的代码应该类似于:

protected function comboBox_changeHandler(event:IndexChangeEvent):void { getPopulationResult.token = population.getPopulation(comboBox.selectedItem.toString()); }
  1. 返回到Design视图,可以更改详细信息表单的标签和调整它的位置。
  2. 运行应用程序(参见图22)。
生成的master detail视图
图22. 生成的master detail视图

未来步骤

您刚才看到了使用Flash Builder中以数据为中心的开发功能为数据类型、服务调用和master detail视图创建表单是多么容易。要了解关于Flash Builder 4和以数据为中心的开发的更多信息,请参见Data-centric development with Flash Builder 4。

Creative Commons License
本文基于Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License协议发布。

More Like This

  • Flex中的本地化 – 第2部分:在运行时装载资源
  • 使用Flash Builder 4构建Flex应用程序,以利用在C#中的基于.NET的Web服务
  • 使用Flex4容器若干技巧
  • 在Flash Builder4 beta中使用网络监测器跟踪网络流量
  • Working with Doctrine 2, Zend AMF, Flex, and Flash Builder
  • Data paging with Flex and PHP using Flash Builder 4
  • Tool-based approaches for data-centric RIA development
  • Flash Builder 4 and PHP – Part 1: Data-centric development
  • Flash Builder 4 and PHP – Part 2: Zend AMF and Flash Remoting
  • Flash Builder 4 and PHP – Part 3: Implicit paging and data management

Tutorials & Samples

Tutorials

  • Flex mobile performance checklist
  • Flex and Maven with Flexmojos – Part 3: Journeyman
  • Migrating Flex 3 applications to Flex 4.5 – Part 4

Samples

  • Twitter Trends
  • Flex 4.5 reference applications
  • Mobile Trader Flex app on Android Market

Flex User Forum

More
07/25/2011 Flash Player Debug Issues - Safari 5.1 & Chrome 13
04/22/2012 Loader png - wrong color values in BitmapData
04/22/2012 HTTPService and crossdomain.xml doesn't work as expected
04/23/2012 Memory related crashes in Flex application

Flex Cookbook

More
04/06/2012 How to detect screen resize with a SkinnableComponent
02/29/2012 Embed Stage3D content inside Flex application components
02/15/2012 Custom WorkFlow Component
02/09/2012 Using Camera with a MediaContainer instead of VideoDisplay

产品

  • Acrobat
  • Creative Cloud
  • Creative Suite
  • Digital Marketing Suite
  • Digital Publishing Suite
  • Elements
  • 移动应用程序
  • Photoshop
  • Touch Apps

解决方案

  • 数字营销
  • 数字媒体
  • 网页体验管理

行业

  • 教育
  • 金融服务业
  • 政府部门

帮助

  • 产品帮助中心
  • 订货和退货
  • 下载和安装
  • 我的 Adobe

学习

  • Adobe 开发人员连接
  • Adobe TV
  • 培训和认证
  • 论坛
  • 设计中心

购买方式

  • 在线商店
  • 批量许可
  • 查找经销商

下载

  • Adobe Reader
  • Adobe Flash Player
  • Adobe AIR
  • Adobe Shockwave Player

公司

  • 新闻编辑室
  • 合作伙伴计划
  • 公司社会责任
  • 工作机会
  • 投资者关系
  • 事件
  • 法律
  • 安全
  • 联系 Adobe
选择您的地区 中国(更改)
选择您的地区 关闭

North America

Europe, Middle East and Africa

Asia Pacific

  • Canada - English
  • Canada - Français
  • Latinoamérica
  • México
  • United States

South America

  • Brasil
  • Africa - English
  • Österreich - Deutsch
  • Belgium - English
  • Belgique - Français
  • België - Nederlands
  • България
  • Hrvatska
  • Česká republika
  • Danmark
  • Eastern Europe - English
  • Eesti
  • Suomi
  • France
  • Deutschland
  • Magyarország
  • Ireland
  • Israel - English
  • ישראל - עברית
  • Italia
  • Latvija
  • Lietuva
  • Luxembourg - Deutsch
  • Luxembourg - English
  • Luxembourg - Français
  • الشرق الأوسط وشمال أفريقيا - اللغة العربية
  • Middle East and North Africa - English
  • Moyen-Orient et Afrique du Nord - Français
  • Nederland
  • Norge
  • Polska
  • Portugal
  • România
  • Россия
  • Srbija
  • Slovensko
  • Slovenija
  • España
  • Sverige
  • Schweiz - Deutsch
  • Suisse - Français
  • Svizzera - Italiano
  • Türkiye
  • Україна
  • United Kingdom
  • Australia
  • 中国
  • 中國香港特別行政區
  • Hong Kong S.A.R. of China
  • India - English
  • 日本
  • 한국
  • New Zealand
  • 台灣

Southeast Asia

  • Includes Indonesia, Malaysia, Philippines, Singapore, Thailand, and Vietnam - English

Copyright © 2012 Adobe Systems Incorporated. All rights reserved.

使用条款 | 隐私政策和 Cookies (更新)

京 ICP 备 10217899 号 京公网安备 110105010404