zoukankan      html  css  js  c++  java
  • TABLE中动态设置poplist的值跟着当前行的某些列动态变化

    核心方法

     OAAdvancedTableBean table = (OAAdvancedTableBean)webBean.findChildRecursive("TimeEntryTbl");     
     OAMessageChoiceBean elePoplist = (OAMessageChoiceBean)table.findChildRecursive("ElementSelect");     
     elePoplist.setListVOBoundContainerColumn(0, table, "EmployeeGroupName");     
     elePoplist.setListVOBoundContainerColumn(1, table, "PeriodEndDate");     
     elePoplist.setListVOBoundContainerColumn(2, table, "AssignmentId");     
     elePoplist.setPickListCacheEnabled(false); 

    问题扩展。

    在页面中有添加新一行的操作,如何使添加的新一行中的poplist的值集跟着当前行的LOV返回的值变化而变化。

    核心思路:

    在MessageChoice中绑定poplist取值来源的时候不要使用dependent poplist,而是使用View Instance。

    有些关联list是需要上下文限制的,如 省市选择,甚至还是在table中。2个poplist通过pvo实例化,在根据事件,刷新VO是不行的,因为是多行,而且局部事件是早于poplist数值获取的,这样也没办法加限制条件。【摘自oraclearea51 的Sudhakar Mani文章】

    视图定义

     

     

    控件设置

    代码控制

    ProcessRequest

    ProcessFormRequest

    AM

    //视图定义
    CountryVO
    select Meaning ,LookupCode from fnd_lookup_values_vl where lookup_type='CHOLA_COUNTRY'
    StateVO
    select Meaning ,LookupCode from fnd_lookup_values_vl where lookup_type='CHOLA_State' and tag= :1
    
    //控件设置
    ID Country
    Picklist View Definition:chola.oracle.apps.fnd.poplist.server.CountryVO
    Picklist View Instance :CountryVO1
    Picklist Display Attribute:Meaning
    Picklist Value Attribute:LookupCode
    ActionType - fireParialAction
    Event - country
    
    ID State
    Picklist View Definition:chola.oracle.apps.fnd.poplist.server.StateVO
    Picklist View Instance :StateVO1
    Picklist Display Attribute:Meaning
    Picklist Value Attribute:LookupCode
    ActionType - fireParialAction
    
    //代码控制
    //processRequest
    
    OAAdvanceTableBean advTable = (OAAdvanceTableBean)webBean.findChildRecursive("ResultAdvTable");
    OAMessageChoiceBean statePoplist = (OAMessageChoiceBean)advTable.findChildRecursive("State");
    statePoplist.setListVOBoundContainerColumn(0,advTable,"Country");
    
    //processFormRequest
    
    if("country".equals(pageContext.getParameter(OAWebBeanConstants.EVENT_PARAM))){
        am.invokeMethod(initStateVOQuery);
    }
    
    //AM
    
    public void statePoplist(){
        StateVOImpl vo = (StateVOImpl) getStateVO1();
        if(vo==null){
            MessageToken[] errorTokens= {new MessageToken("OBJECT_NAME","CountryVO1")};
            throw new OAException("AK","FWK_TBX_OBJECT_NOT_FOUND",errorTokens);
        }
        vo.executeQuery();
    }

    参考文章:

    Poplist Dependent on an LOV not working in AdvTable - Add another row

    the Dependent Poplist section

    Dynamic Poplist Empty when setListVOBoundContainerColumn is called.

  • 相关阅读:
    Linux 查看CPU信息,机器型号,内存等信息
    TCPdump抓包命令详解
    nginx https 转发
    滚动效果
    phpexcel中文手册(转)
    Java数组操作十大方法 (转)
    ajax防止重复提交
    信用评分卡(A卡/B卡/C卡)的模型简介及开发流程|干货
    求方差分析与两样本T检验 区别
    互联网运营中的10大数据分析方法
  • 原文地址:https://www.cnblogs.com/huanghongbo/p/4605496.html
Copyright © 2011-2022 走看看