2

我正在使用 Oracle Apex 4.2。我有一个选择列表和一个文本字段。我正在尝试创建一个应该足够简单的动态动作,但我不知道该怎么做。基本上取决于用户从选择列表中的值列表中选择的值,然后应该填充文本字段。例如:

假设选择列表让用户可以选择“动物”、“汽车”、“人”。如果用户选择“动物”,则文本字段应立即具有值“猫”。如果用户选择“汽车”,则文本字段应立即具有值“丰田”。如果用户选择“Person@”,则文本字段应立即具有值“jim”等。

我将如何进行此动态操作?

谢谢,斯蒂芬。

4

1 回答 1

7

使用以下属性创建一个新的动态操作

主要属性

  • 事件:变化
  • 选择类型:项目
  • 项目:[选择列表]
  • 条件:无条件

真正的行动

  • 行动:执行 PL/SQL 代码
  • 当事件结果为:真时触发
  • PL/SQL 代码:

    选项 1 - 使用查找表

    select LOOKUP_VALUE
    into :P1_TEXT
    from LOOKUP_TABLE
    where original_value = :P1_SELECT_LIST;
    

    选项 2 - 使用硬编码值

    CASE upper(:P1_SELECT_LIST)
        WHEN 'ANIMAL' THEN :P1_TEXT := 'cat';
        WHEN 'CAR' THEN :P1_TEXT := 'toyota';
        WHEN 'PERSON' THEN :P1_TEXT := 'jim';
        ELSE :P1_TEXT := null;
    END CASE;
    
  • 要提交的页面项目:[P1_SELECT_LIST]

  • 要返回的页面项目 [P1_TEXT]
于 2013-02-28T00:58:11.930 回答