OAF_开发系列08_实现OAF通过Popup参数式弹出窗口(案例)

20150711 Created By BaoXinjian

一、摘要


参数式弹出窗口和嵌入式弹出窗口不一样,它拥有独立的区域,并不嵌入到使用页面中。

它里面的内容根据需要来获取和生成,它拥有自己的AM和页面状态,对popup页面事件的处理也不一样。

1. 两种弹出式窗口都只在下面四种组件所支持,既不能改变大小也不可移动。

(1). Text(messageStyledText)

(2). Image

(3). Link

(4). Button

2. 实现参数式弹出窗口的步骤

(1). 创建一个独立的RN其会做为参数式弹出窗口,里面放置你需要的控件.

(2). 在Jdev结构面板上,在要显示参数式弹出窗口的页面上,选择包含要展示弹出式窗口的控件的区域。

(3). 创建一个新的区域,并设置它的类型为popUp.

(4). 为上面的popUp区域,设置合理的属性值,

比如,ID,Title,Region(第一步中的RN),Type(嵌入式还是参数式),

Width, Height, Parameters, Modal Enabled(是不是模态窗口,是的话,用户不能和基础页面打交道)。

(5). 在Jdev的结构面板中,选择要弹出窗口的控件(只能为messageStyledText, image, link, 或者 button)

并设置以下属性PopupId(Popup控件的ID),

PopupRenderEvent(什么事件弹出窗口,比如onClick或者 onHover,默认值是onClick),

PopupEnabled(是否启用popup,默认值是false),

ReadOnly(弹出式窗口是不是 只读,如果是的话,但鼠标不在弹出窗口时,弹出窗口会关闭,默认值是false).

 

二、实现


Step1. 建立参数式弹出式窗口的RN,如下指明AM及各个控件绑定的VO属性, 创建Popup组件如下

 

Step2. 建立要使用的页面的PG,AM,VO,CO等等,创举爱你PG, CO如下

 

Step3. 在基础页面上表中添加一个flowLayout或者其他的都可以,用于作为popup控件的容器,

因为popup不能直接放到表里面,然后为其添加popup控件,并设置其属性如下,这里要注意的是Parameters属性,因为参数式弹出窗口有自己的AM,

这是和基础页面交互的主要方式,且其不可以使用EL(Expression Language,12.2之前叫做SPEL(SimplestPossible Expression Language)

Step4. 添加一个链接控件在table下面,它的属性设置如下,里面指定的Popup Id为上面第三步中的Popup的ID。

Step5. 在popup的AM中添加下面的方法,用于根据ID初始化,这里写了最简单的逻辑

Step6. 在Popup 的CO添加下面的来根据基础页面传入的参数来调用AM的方法以便初始化VO。

 

三、运行测试


1. 显示了栏位的明细

2. 点看查看,跳出popup页面并显示

 

Thanks and Regards

参考: Tavor - http://blog.csdn.net/tavor/article/details/2733524

posted on 2015-06-28 13:57  东方瀚海  阅读(548)  评论(0编辑  收藏  举报