【发布时间】:2016-02-17 19:37:47
【问题描述】:
当我基于 SQL 查询创建选择列表时,它要求 2 列。例如,我在名为 LST_ITEMS 的选择列表中做了类似的事情:select itemcode, itemname from items。当我使用 :LST_ITEMS 调用它时,我需要检索或获取这两个值。
【问题讨论】:
标签: oracle oracle-apex lov
当我基于 SQL 查询创建选择列表时,它要求 2 列。例如,我在名为 LST_ITEMS 的选择列表中做了类似的事情:select itemcode, itemname from items。当我使用 :LST_ITEMS 调用它时,我需要检索或获取这两个值。
【问题讨论】:
标签: oracle oracle-apex lov
您可以像这样使用 Javascript 动态操作来实现这一点
$s('P1_Display_Val',apex.item("LST_ITEMS").displayValueFor("1"));
这会将项目“LST_ITEMS”的显示值(返回值 = 1)复制到项目“P1_Display_Val”。 1 是否为选定值。
【讨论】:
你可以把查询写成:
select itemname display_value,
itemcode || ':' || itemname return_value
from items
之后,您将在:LST_ITEMS 变量中获得组合值。您可以在 PL/SQL 代码中进一步解析它。例如:
declare
code number;
name varchar2(100);
begin
code = substr(:LST_ITEMS, 1, instr(:LST_ITEMS, ':') - 1);
name = substr(:LST_ITEMS, instr(:LST_ITEMS, ':') + 1);
end;
【讨论】:
select itemname display_value, itemcode || ':' || itemname return_value from items