假设我在页面上有2个选择列表项目。两个列表都应该是静态的。我可以静态设置第一个列表项:
STATIC2:Lab1;1,Lab2;2,Lab3;3
现在基于这个选择,我希望第二个列表显示其中一个值集:
for 1 in first list => STATIC2:One;1,Two;2,Three;3
for 2 in first list => STATIC2:Apple;1,Pear;2,Orange;3
for 3 in first list => STATIC2:None;-1
基本上不需要来自表的查询。我怎样才能做到这一点?我的项目应该具有哪些参数和/或脚本?
答案 0 :(得分:1)
至于我,我认为这里最简单的方法是为第二个静态列表创建表/查询。像这样:
with LOV2 as (select 1 return_value, 'One' display_name, 1 lov1_id from dual union all
select 2, 'Two', 1 lov1_id from dual union all
select 3, 'Three', 1 lov1_id from dual union all
select 1, 'Apple', 2 lov1_id from dual union all
select 2, 'Pear', 2 lov1_id from dual union all
select 3, 'Orange',2 lov1_id from dual union all
select 1, 'Almost none', 3 lov1_id from dual union all
select 2, 'None', 3 lov1_id from dual)
select display_name, return_value
from LOV2
where lov1_id = :P_LOV1_VALUE
并将此查询用作LOV2的来源。
<强> UPD 强>
转到Shared Components
- &gt; User Interface
- &gt; Lists of Values
。点击Create
,然后点击From scratch
。然后,您可以看到字段Type
,您可以在其中选择静态或动态类型。静态列表是一个列表,您可以在其中直接显示和返回值。动态列表是SQL查询的结果。每个列表都有两个字段:display_value
- 用户在屏幕上看到的值和return value
- 您将在PL / SQL代码中获得的值。另外LOV可以是named
- 它是一个LOV,在Shared Components
部分创建(你可以在很多页面上使用它,当你改变它时,它会随处变化)。要在页面打开项目的属性上使用命名LOV,请在LIST of Values
部分中选择字段Named LOV
中所需LOV的名称。
我上面的查询是动态LOV的源,您可以使用它创建一个命名的LOV或在页面上的LOV定义中使用。