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.

时间: 2024-07-28 16:48:28

TABLE中动态设置poplist的值跟着当前行的某些列动态变化的相关文章

普通Region中动态设置poplist的值跟着当前区域的某些值动态变化

//控件设置 ID Catergory1 Item Style messageChoice Picklist View Definition Cux.oracle.apps.po.poplist.server.ContractCategoryLevel1VO Picklist View Instance Picklist Display Attribute Description Picklist Value Attribute FlexValue Action Type firePartial

分别在javascript和JSP中动态设置下拉列表默认值

一.JavaScript中动态设置select标签中<option>选项的默认值: 比如,要完成下边这个下拉列表的动态显示,并且当进行前后翻页时,下拉列表中的值自动更新为当前页码:  <======== 图1 jsp部分代码如下: <========图2 实现动态设置下拉列表默认值的js代码: <=======图3 二.使用EL表达式在jsp页面中动态设置select标签中<option>选项的默认值: 现在有如下这么一个页面(图4),要实现点击修改时,在弹出的页

c编程:求出4&amp;#215;4矩阵中最大和最小元素值及其所在行下标和列下标,求出两条主对角线元素之和。

//求出4×4矩阵中最大和最小元素值及其所在行下标和列下标,求出两条主对角线元素之和 #include <stdio.h> int main() { int sum=0; int max,min; int max1,max2;//记录最大值的坐标 int min1,min2;//记录最小值的坐标 int i,j; int a[4][4]; //为数组赋值 for(i=0;i<4;i++) { for(j=0;j<4;j++) { scanf("%d",&

c编程:求出4&#215;4矩阵中最大和最小元素值及其所在行下标和列下标,求出两条主对角线元素之和。

//求出4×4矩阵中最大和最小元素值及其所在行下标和列下标,求出两条主对角线元素之和 #include <stdio.h> int main() { int sum=0; int max,min; int max1,max2;//记录最大值的坐标 int min1,min2;//记录最小值的坐标 int i,j; int a[4][4]; //为数组赋值 for(i=0;i<4;i++) { for(j=0;j<4;j++) { scanf("%d",&

table中怎么设置两行间距

table中设置两行间距方法: css代码实现 <style> table   {   border-collapse:   separate;   border-spacing:   10px;   } </style> [/html]

HTML JS获取到table中所有的input的值 传递到前端

1.获取table对象 2.行循环.列循环然后遍历每一个格子里面的input值 3.用连接符连接 4.放置到form的隐藏域里面. 5.传递到后台. js代码:注意:1.input必须跟[0]否则无法取出值  2.在JS的双引号里面不能在用""改成''而且{}在引号里也会被识别报错.将字符串传回后台处理即可 function GetInfoFromTable() { var tableInfo = ""; var tableObj = document.getEle

SQLServer 2012中,设置“时间”默认值为“当前时间&quot;

最近,需要在SQLServer 2012中,设置datetime的默认值为当前时间. 通过可视化窗口进行设置,而不是将getdate()函数写在sql语句中,也不是将‘2022-2-2 22:22:22’写在sql语句中. 起初网上已经有文章写到,不过更多的是写在sql语句中,当时设置默认值的格式有些问题,一直失败. 正确插图:  (getdate()) 其实它是一个可视化而已,在sql语句中拼写getdate()能ok,在可视化窗口也ok的. 就是这么简单,但当时脑残了,非得加上单引号什么乱七

根据条件设置poplist的值集

需求:在当前页面的pageButtonBar中有一个下拉选择框,选择框中的值集根据某些条件有不同. public class SupplierInfoReviewCO extends OAControllerImpl { public static final String RCS_ID="$Header$"; public static final boolean RCS_ID_RECORDED = VersionInfo.recordClassVersion(RCS_ID, &qu

ant table中通过赋值取消选中值

vue中table <a-table ref="table" size="middle" bordered rowKey="id" :columns="columns" :dataSource="dataSources" :pagination="ipagination" :loading="loading" :rowSelection="{selec