使用 Oracle APEX LOV 初始化多个页面项? - 顶点 21.1

Use Oracle APEX LOVs to Initialize Multiple Page Items? - APEX 21.1

我了解 LOV 的默认行为如下:

SELECT business_desc as display_val,
       business_id as return_val
  FROM businesses

这附加到 select 类型的页面项目 P1_BUSINESS 将显示一个列表,当列表行被 selected 时,然后将 business_id 值分配给页面项目 P1_BUSINESS.

有没有办法建立一个值列表来设置多个未显示的页面项目的值?使用下面的 SQL:

SELECT business_desc as display_val,
       business_id as return_val,
       form_type,
       individual_flag
  FROM businesses

现在,当用户 select 从 P1_BUSINESS 获取内容时,它会将 row/record 的值设置如下:

我知道我可以用 onchange 动态动作来做到这一点,但只是想知道是否可以在 LOV 或 select 页面项目 (P1_BUSINESS) 中以声明方式进行。

在共享组件 > 值列表中,有一个属性“附加显示列”。该屏幕上的帮助文本说明了一切 可以为支持多个显示列的项目类型定义额外的显示列,例如 Popup LOV。对于不支持多列的项目类型,这些将被忽略。如果添加其他显示列,请确保 return 列包含在列列表中。 return 列可以设置为 Visible No 和 Searchable No 如果您不希望它显示给用户。

使用 emp/dept 示例数据的示例:

  • 使用 return empno 在 table emp 上创建值列表并显示 ename。保存。
  • 编辑 LOV 并单击 其他显示列 > Select 列 。 Select job 作为附加列。
  • 在 IG 中,将 VisibleSearchable 设置为“否”并应用更改。
  • 在页面上,创建 2 个页面项目:P1_EMPNO(类型弹出 LOV)和 P1_JOB(类型文本字段)
  • 对于 P1_EMPNO,选择上面创建的 LOV 作为共享组件 > 值列表并在 设置 > 附加输出 下添加 JOB:P2_JOB。 JOB 是附加列 name/alias,P2_JOB 是它应该映射到的项目。
  • 现在当您 运行 页面时,观察 P1_JOB 在您 select P1_EMPNO
  • 的值时填充