Oracle Apex动态操作PL / SQL,它将根据另一个字段传递的值更改选择列表中的值

时间:2017-01-27 16:00:21

标签: oracle plsql oracle-apex

所以我有一张名为" Fruit"这个表是手动上传的,用户喜欢什么样的Fruit。但我们知道我们有不同颜色的水果"这些颜色不在桌面上。

所以我为用户创建了一个表单,并希望根据" Fruit"

创建一个动态选择列表

形式:

姓名:Bob

年龄:45

水果:苹果

什么颜色:(选择基于水果的列表)红色,绿色,白色

现在我在桌子上有12个水果选项,也许我想要使用六种颜色,但我不希望显示所有颜色。

所以如果" Fruit"列(基于表格)是苹果仅在选择列表中显示红色,绿色,白色

如果" Fruit"列(基于表格)是香蕉只在选择列表中显示黄色,绿色,棕色

如果" Fruit"列(基于表格)葡萄只在选择列表中显示红色,绿色

1 个答案:

答案 0 :(得分:2)

APEX可以很容易地做到这一点。定义颜色查询,使其仅显示适合所选水果项目的颜色。类似的东西:

select c.color_name, c.color_code
  from colors c
       join fruit_colors fc on fc.color_code = c.color_code
 where fc.fruit_code = :P123_FRUIT_CODE;

(此处P123_FRUIT_CODE是水果选择列表项的名称。)

然后将颜色LOV的Cascading LOV Parent Item(s)属性设置为P123_FRUIT_CODE

现在,只要用户通过选择水果来更改P123_FRUIT_CODE,颜色LOV就会更新,以便仅显示该水果的可用颜色。