c_6.2.7 页面6——利用表单输入数据_第1页
c_6.2.7 页面6——利用表单输入数据_第2页
c_6.2.7 页面6——利用表单输入数据_第3页
c_6.2.7 页面6——利用表单输入数据_第4页
c_6.2.7 页面6——利用表单输入数据_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 页面6利用表单输入数据本页面的功能是添加、修改产品信息,有两个区域:HTML区域Add/Modify Products和HTML区域Product Image。区域Add/Modify Products允许添加、删除、修改产品信息。区域Product Image显示当前产品的照片,此区域是条件显示区域。隐藏项P6_PRODUCT_ID若为空,此页用于添加产品信息,区域Product Image不显示,按钮Delete、Apply Changes 也不显示。隐藏项P6_PRODUCT_ID若不为空,此页用于删除、修改产品信息,此时区域Product Image显示,按钮Delete、Apply

2、 Changes显示,但按钮Create不显示。从页面1的Tasks列表中选择Add/Modify Products,则进入如图6-89所示的添加新产品页面。图6-89 添加新产品页面从页面3的Products报表中,单击某行数据前的编辑按钮,就可进入修改或删除已有产品信息画面。图6-90显示了Products报表。图6-90 Products报表如图6-91所示是修改或删除已有产品信息页面。图6-91 修改或删除已有产品信息页面1产品是否有货产品是否有货这一信息是通过单选按钮组来选择输入的。如图6-92所示。图6-92 单选按钮组在通过向导根据指定数据表创建表单时,向导会为选中的每个表列创建

3、一个页面项,图6-93显示了P6_PRODUCT_AVAIL项和PRODUCT_AVAIL列的关系。图6-93 页面项虽然向导会为选中的每个表列创建一个页面项,但页面项默认的显示方式是单行的文本框。要使PRODUCT_AVAIL列对应的项显示为单选按钮组,需要做如下设置:首先,将“显示为”属性设置为“单选组”,如图6-94所示。图6-94 设置为“单选组”然后,还要为单选按钮组设置值列表LOV。单选按钮组本质上和下拉列表是一样的,都是从多个选项中选择一个,只是显示的方式不同,所以LOV的设置方法也是相同的。单选按钮组更适用于选项较少、选项固定、选项显示内容较短的情况。从图6-95中可以看出,此

4、处使用了共享组件中的命名的LOV“Y OR N”。图6-95 命名的LDV命名的LOV“Y OR N”定义如下。可以看出其是基于静态值的LOV。只有两个选项Y和N。而且显示值和返回值是相同的,如图6-96所示。图6-96 基于静态值的LDVP6_PRODUCT_AVAIL项的默认值是Y,这保证了在新建产品时(页面项在产品信息表中还没有对应产品数据),产品是否有货单选按钮组默认选中的是Y,即有货,如图6-97所示。图6-97 设置默认值2产品描述信息单行文本框只适合于输入少量的文本、数字或日期。如果文字比较多,则更好的选项是使用文本区域。文本区域的优点是可以有多行,还可以有滚动条。产品描述信息文

5、字比较多,所以用文本区域P6_PRODUCT_DESCRIPTION输入。从图6-98中可以看出,当文字在显示区域内容纳不下时,文本区域自动显示了滚动条。图6-98 产品描述信息文本区域设置如下:首先,改变显示方式为文本区域,如图6-99所示。图6-99 改变显示方式为“文本区域”然后,设置宽度、最大宽度和高度属性。宽度指定将为此项显示的表单元素的长度(字符数)。最大宽度指定用户可在此表单元素中输入的最大字符数。高度指定文本区域和多选列表的高度(行数),如图6-100所示。单击“属性”标签打开帮助页面,即可看到属性的含义和使用方法。图6-100 设置宽度、最大宽度和高度属性3产品图片保存产品信

6、息保存在demo_product_info表中。在SQL工作室下的SQL命令窗口中,输入命令:DESC demo_product_info 然后单击“运行”按钮,打开如图6-101所示页面。图6-101 数据表demo_product_info的定义4产品图片上传文件选择项P6_PRODUCT_IMAGE的显示界面,如图6-102所示。通过此类页面项可实现将选择的文件进行上传。上传的文件将保存在预先定义好的数据表中。例如demo_product_info表。保存上传文件数据表的定义有一定要求,例如,保存文件数据的列数据类型应当定义为BLOB。图6-102 上传文件接下来进行P6_PRODUCT

7、_IMAGE项的定义,首先注意此项的显示方式为“文件浏览”,如图6-103所示。图6-103 项的定义然后注意到此项的“源类型”是数据列。这样就可将界面显示同数据表中的列绑定在一起。和普通文本项不同的是,上传文件时不仅上传文件数据本身,同时还有文件类型信息、文件名、文件上传时间等信息需要保存,因此和P6_PRODUCT_IMAGE项关联的数据表列有多个。这些列的名称需要按照APEX要求的顺序列出来,中间用英文的冒号隔开,如图6-104所示。图6-104 编辑页项如果不知道以何种顺序输入列名,可以单击上图中“BLOB 下载格式掩码”链接,打开图形化输入窗口,如图6-105所示。图6-105 图形

8、化输入窗口在窗口中按标签提示输入对应数据表列名后单击“应用”按钮即可:PRODUCT_IMAGE用于保存图片数据;MIMETYPE用于保存文件类型信息;FILENAME为文件名;IMAGE_LAST_UPDATE用于保存图片上传时间。真正实现项数据和数据表交互(将项数据保存到数据表或将数据表数据读出并赋值给页面项)功能的是自动行处理 (DML) Process Row of DEMO_PRODUCT_INFO。这是用向导创建区域时根据用户选择自动添加的,如图6-106所示。图6-106 自动行处理(DML)从图6-107中可以看出自动行处理(DML)Process Row of DEMO_PR

9、ODUCT_INFO和表关联,并说明了表的主键列。这样自动行处理中Oracle提供的代码就会自动根据项定义中描述的项关联的列实现项数据和数据表交互。图6-106 实现项数据和数据表交互自动行处理(DML)Process Row of DEMO_PRODUCT_INFO是条件执行的。条件是页面提交的原因,不是用户点击了DELETE_IMAGE 按钮,条件类型如图6-107所示。图6-107 条件类型5产品图片显示Product Image区域显示了更为清晰的产品图片。显示是通过文本项P6_IMAGE实现的,如图6-108所示。注意到显示方式为“显示为文本(不保存状态)”。图6-108 显示设置P

10、6_IMAGE的源类型为PL/SQL函数体。源值或表达式是PL/SQL函数体的代码。具体代码为:return '<img src="'|apex_util.get_blob_file_src('P6_PRODUCT_IMAGE',:P6_PRODUCT_ID)|'" />'代码使用了APEX提供的API中的apex_util包,通过产品的ID来获取产品图片的URL(参见页面3中相应的说明)。页面3中通过设置图片的大小(height="75" width="75") 实现了图片

11、的缩小显示,而此处没有设置图片的大小,图片按原始大小显示,如图6-109所示。图6-109 源文本项P6_IMAGE是条件显示的。条件是判断图片存在的SQL查询至少返回一行记录。即产品有图片数据,如图6-110所示。图6-110 条件6删除产品图片在区域Product Image中单击“Delete”按钮,会删除产品的图片,这是怎样实现的呢?这是靠处理Delete Image来实现的,如图6-111所示。图6-111 处理Delete Image处理Delete Image是在页面提交时(计算和验证之后)执行的,类型是PL/SQL 匿名块,其源属性定义了匿名块的代码如图6-112所示。图6-1

12、12 匿名块代码可以看出,代码中的update语句将产品信息表中,主键值为 :P6_PRODUCT_ID 的产品图片相关的几个列同时设置为空值。这样,就从产品信息表中删除了指定产品的图片数据。处理Delete Image是条件执行的,条件是按下区域Product Image中的“Delete”按钮。7页处理和页呈现要理解Web应用程序的运行流程和工作方式页,最重要是要理解页处理(Page Processing)和页呈现(Page Rendering)。使用Application Builder 创建应用程序时,可使用 tabs, buttons, 或 hypertext 将页面链接在一起。每个

13、页面可包含按钮和页面项,而且按钮和页面项可包含应用逻辑。可利用分支(Branch)等条件导航(Conditional Navigation)从一个页面跳转到另一个页面,执行计算和验证,显示报表,日历和图表。可利用内置向导创建报表、图表和表单,也可创建静态 HTML 页面或用 PL/SQL 代码生成动态页面。APEX 引擎如何显示和处理页面?APEX 引擎根据Oracle 数据库中的数据动态显示和处理页面。要运行应用程序,需要向APEX 引擎发出请求。当运行应用程序时,APEX 引擎依赖两个进程:页呈现进程,负责将所有页面属性(包括区域、页面项和按钮)组装成一个HTML页面;页处理进程,负责执行

14、任何计算、验证、处理和分支。当使用URL请求页面时,引擎运行页呈现进程。当提交页面时,APEX 引擎运行页处理进程,保存会话缓冲区内提交的数据,然后执行计算、验证、处理和分支。APEX的页面编辑界面分为三栏:页呈现、页处理和共享组件,如图6-113所示。图6-113 APEX的页面编辑界面APEX的页面编辑界面使得开发工作变得非常清晰。凡是和页面显示外观有关的工作,都在页呈现一栏进行设置。凡是在用户提交页面之后需要完成的工作,都在页处理一栏进行设置。可能在多个页面之间共享的内容,必然出现在共享组件一栏中。理解条件显示和处理。条件(Condition)是一个小逻辑单元,计算结果为 TRUE、FALSE或NULL,可用于控制区域(Regions),页面项(Items),

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论