OAF的Table中,LOV列依赖一个messageStyledText列

效果图

Dname是以显示的Deptno为条件的
效果图

结构图

结构图
其中:

  • DeptLovCO是Region(DeptLovRN)的CO
  • EmpSearchCO是PG(EmpSearchPG)的CO
  • DeptLovRN是一个External Lov

EmpSearchCO

    public void processFormRequest(OAPageContext paramOAPageContext, 
                                   OAWebBean paramOAWebBean) {
        super.processFormRequest(paramOAPageContext, paramOAWebBean);
        //获取触发的LOV事件所在行
        OAApplicationModule am = 
            paramOAPageContext.getApplicationModule(paramOAWebBean);
        String lovInputSourceId = paramOAPageContext.getLovInputSourceId();
        System.out.print("------------------Srd Id : " + lovInputSourceId);
        String sourceParam = paramOAPageContext.getParameter(SOURCE_PARAM);
        Hashtable lovResults = 
            paramOAPageContext.getLovResultsFromSession(sourceParam);
        if ("Dname".equals(lovInputSourceId)) {
            String rowReference = 
                paramOAPageContext.getParameter(OAWebBeanConstants.EVENT_SOURCE_ROW_REFERENCE);
            OARow row = (OARow)am.findRowByRef(rowReference);
            oracle.jbo.domain.Number deptNum = 
                (oracle.jbo.domain.Number)row.getAttribute("Deptno");
            System.out.print("------------------deptNum : " + deptNum);
            //将值保存在事务中
            paramOAPageContext.putTransactionTransientValue("deptNum", 
                                                            deptNum);
        }

    }

DeptLovCO

    public void processRequest(OAPageContext paramOAPageContext, 
                               OAWebBean paramOAWebBean) {
        super.processRequest(paramOAPageContext, paramOAWebBean);
        OAApplicationModule am = 
            paramOAPageContext.getApplicationModule(paramOAWebBean);
        //读取事务中的参数
        oracle.jbo.domain.Number deptNum = 
            (oracle.jbo.domain.Number)paramOAPageContext.getTransactionTransientValue("deptNum");
        OAViewObjectImpl vo = 
            (OAViewObjectImpl)am.findViewObject("DepartmentVO");
        if ((deptNum != null) && (vo != null)) {
            vo.setWhereClause("deptno = " + deptNum);
        }
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值