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

Oracle Apex动态操作PL/SQL,它将根据另一个字段传递的值更改选择列表中的值,oracle,plsql,oracle-apex,Oracle,Plsql,Oracle Apex,所以我有一个名为“水果”的表格,这个表格是手动上传的,用户喜欢哪种水果。但是我们知道我们有不同颜色的“水果”,这些颜色不在桌子上 因此,我为用户创建了一个表单,并希望基于“水果”创建一个动态选择列表 表格: 姓名:鲍勃 年龄:45 水果:苹果 什么颜色:(根据水果选择列表)红色、绿色、白色 现在我有12个水果选项在桌子上,也许六种颜色我想用,但我不想所有的颜色显示 因此,如果“水果”列(基于表格)为“苹果”,则在选择列表中只显示红色、绿色和白色 如果“水果”列(基于表格)为香蕉,则在选择列表中仅

所以我有一个名为“水果”的表格,这个表格是手动上传的,用户喜欢哪种水果。但是我们知道我们有不同颜色的“水果”,这些颜色不在桌子上

因此,我为用户创建了一个表单,并希望基于“水果”创建一个动态选择列表

表格:

姓名:鲍勃

年龄:45

水果:苹果

什么颜色:(根据水果选择列表)红色、绿色、白色

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

因此,如果“水果”列(基于表格)为“苹果”,则在选择列表中只显示红色、绿色和白色

如果“水果”列(基于表格)为香蕉,则在选择列表中仅显示黄色、绿色和棕色


如果“水果”列(基于表格)为“葡萄”,则在选择列表中只显示红色和绿色。

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\u FRUIT\u code
是您的水果选择列表项的名称)

然后将颜色LOV的
Cascading LOV Parent Item
属性设置为
P123\u FRUIT\u code


现在,只要用户通过选择一种水果来更改
P123\u FRUIT\u code
,LOV的颜色就会更新,只显示该水果可用的颜色。

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\u FRUIT\u code
是您的水果选择列表项的名称)

然后将颜色LOV的
Cascading LOV Parent Item
属性设置为
P123\u FRUIT\u code


现在,每当用户通过选择水果来更改
P123\u FRUIT\u code
时,LOV的颜色将更新为仅显示该水果可用的颜色。

Hi Tony,这是否意味着我也需要创建颜色表?不一定,这只是我的假设。你只需要在
where
子句中编写引用
:P123\u FRUIT\u code
的SQL,并返回你希望它返回的颜色。嗨,Tony,这是否意味着我也需要创建一个颜色表?不一定,这只是我的假设。您只需要在
where
子句中编写引用
:P123\u FRUIT\u code
的SQL,并返回希望返回的颜色。