基本上,我有一个基于以下示例SQL查询的SQL可更新报告:
select A, B, C from my_table;
基于这个报告,我根据命名的LOV使B列成为SELECT LIST - 我还为此列分配了一个“lov_select”的id
这里的C列也是一个文本区域
我的问题并且不确定如何做到这一点,因为这个报告可以在行中变化,假设这个报告返回3行,根据从B列选择的值 - 选择列表,我想在B列选择列表中使用这个值从表中检索另一个值,然后将此值返回到C列文本字段,以及使用的此选择列表值。
我想通过动态动作来做到这一点。
例如:
Column A Column B (select list LOV) Column C
----------------------- ---------------------------- ------------------------------------
Row 1 NAME1 returns 5
Row 2 NAME2 returns 6
Row 3 NAME3 returns 7
因此,如果我更改第2行B列并选择“NAME2”,那么我想使用值“NAME2”执行查询,该值将返回值6,然后我想将NAME2填充到C列中。
带源的手动表格形式:
select
apex_item.text(1, empno) empno,
apex_item.text(2, ename) ename,
apex_item.text(p_idx => 3, p_value => deptno, p_size => 4, p_maxlength => 2, p_attributes => 'class="deptno"') deptno,
apex_item.text(4, null) dname
from emp
2种可能的解决方
var lFetchFor = $(this.triggeringElement).val(),
lTarget = $(this.triggeringElement).closest('tr').find('input[name="f04"]');
$.post('wwv_flow.show',
{"p_request" : "APPLICATION_PROCESS=fetch_value",
"p_flow_id" : $v('pFlowId'),
"p_flow_step_id" : $v('pFlowStepId'),
"p_instance" : $v('pInstance'),
"x01" : lFetchFor},
function(data){
lTarget.val(data);
});
没有受影响的元素类型.deptno
条件:没有条件
真实行动:设定价值
设置类型:Javascript表达式
Javascript表达式:$(this.triggeringElement).val()
在页面加载时触发:未选中
受影响的元素:
选择类型:项目
项目:P37_FIND_DEPTNO
真实行动:设定价值
设置类型:SQL语句
SQL语句:select dname from dept where deptno = :P37_FIND_DEPTNO;
要提交的页面项目:P37_FIND_DEPTNO
在页面加载时触发:未选中
受影响的元素:
选择类型:项目
项目:P37_FIND_DEPTNO_RESULT
真实行动:执行javascript代码
码:
$(this.triggeringElement).closest('tr').find('input[name="f04"]').val($v ('P37_FIND_DEPTNO_RESULT'));
在页面加载时触发:未选中
没有受影响的元素类型
2个隐藏项目,值保护设置为否
P37_FIND_DEPTNO
P37_FIND_DEPTNO_RESULT两者都取决于取值,只取决于你如何解决它。