OAF—深入View之Action and Navigation Buttons

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 12:10 点击:

OAF学习笔记-深入View之Action and Navigation Buttons
 
Action/Navigation Buttons的作用:
在本页面内执行动作.
导航到另一个页面.
执行动作并导航到另一个页面.
Action/Navigation Buttons的位置:
单一Text field, Poplist.
多个Item组成的组
表格
整个页面
 
Action Buttons
当点击按钮时执行Page Post动作
 
Create a button(动态生成按钮)
import oracle.apps.fnd.framework.webui.beans.form.OASubmitButtonBean;
import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
OASubmitButtonBean aa = (OASubmitButtonBean)pageContext.getWebBeanFactory().createWebBean(pageContext,OAWebBeanConstants. BUTTON_SUBMIT_BEAN); //实例化
 aa.setID("Go"); //定义ID
 aa.setUINodeName("xxSubmitButton"); //定义UINodename
 aa.setEvent("Go"); //定义事件名称
 aa.setText("Go"); //定义Prompt
 webBean.addIndexedChild(aa); //在页面上显示
注解:此为动态生成item的通用例程,其中的setUINodeName可省略,OAF会自动分配,最后一句是指定按钮在哪个Region中生成,这里是整个页面,如果有具体的Region的话,应用下面的方法生成:
 
假设需要在一个TableLayout的Region中生成一个按钮:
 
import oracle.apps.fnd.framework.webui.beans.layout.OATableLayoutBean;
OATableLayoutBean cont =(OATableLayoutBean)webBean.findIndexedChildRecursive("RepeatRN"); //实例化Region
OASubmitButtonBean aa = (OASubmitButtonBean)pageContext.getWebBeanFactory().createWebBean(pageContext,OAWebBeanConstants.BUTTON_SUBMIT_BEAN); //实例化按钮
 aa.setID("Go");
 aa.setUINodeName("xxSubmitButton");
 aa.setEvent("Go");
 aa.setText("abcd");
 cont.addIndexedChild(aa); //注意,用上面实例化的webbean对象的方法在页面上显示按钮
 
Control visual property (动态设置属性)
在运行时刻,只有一个属性可能需要更改,即为按钮的Prompt.可调用setText来实现(首先实例化按钮)
 
Control Behavior. and Data(行为和数据控制)
可用性:setDisabled(Boolean) 设置按钮不可用
校验:setUnvalidated(Boolean)按钮点击后不触发onSubmit validation(Client)
           setServerUnvalidated(Boolean) 按钮点击后不触发onSubmit validation(Server)
 
Handle Button Press Events (获取按钮事件)
两种方式:
利用Page Post动作来获取
public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
{
 ... // Check to see if a submit button named "Go" has been pressed.
 if (pageContext.getParameter("Go") != null)
 {
 
 ...
 
利用FireAction来获取
首先定义按钮的FireAction的Event名称,然后再processFormRequest中获取该事件
public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
 {
   super.processFormRequest(pageContext, webBean);
   if (pageContext.getParameter(EVENT_PARAM).equals("Go"))
   {
     pageContext.getApplicationModule(webBean).invokeMethod("updatedata");
    
   }
 }

 

作者“红豆加奶”

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Table函数使用简介
    • Oracle数据库Constraint约束的常用操作及异常处理
    • Bulk Collect性能分析(zz)
    • export/import的使用
    • OCP043第十五讲 Database Security
    • ORACLE10gr2数据导入MySQL方案
    • oracle 让sys用户可以使用isqlplus
    • 在oracle数据库下使用iSQL*Plus DBA访问数据库
    • Oracle行列转换小结
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1