【问题标题】:Creating a 'select list which support dynamic actions' using the 'on change' dynamic action of another select list in Oracle APEX 5.1使用 Oracle APEX 5.1 中另一个选择列表的“更改时”动态操作创建“支持动态操作的选择列表”
【发布时间】:2018-04-23 12:05:35
【问题描述】:

我正在使用 Oracle APEX 5.1 开发应用程序

我有一个要求,根据在第一个选择列表中选择的值,应该填充第二个选择列表。根据第二个列表值,应该填充第三个列表,依此类推,直到我们到达层次结构中的最低级别。因此选择列表的数量将等于层次结构中的级别数量。

另外,这些选择列表应该是支持SQL查询的动态选择列表。

由于层次结构中的级别数量很大,我认为我们需要动态创建不同级别的选择列表。我找不到任何有关此的帮助文档。

【问题讨论】:

    标签: plsql oracle-apex


    【解决方案1】:

    如果选择列表的数量取决于选择的值,您可以使用 APEX 中的动态 pl/sql 区域类型通过使用 apex_item.select_list 函数来绘制选择框。

    查看 API 文档:https://docs.oracle.com/cd/E71588_01/AEAPI/APEX_ITEM.htm#AEAPI192

    我目前正在工作中提交不同参数的报告,其中每个报告可能有多个选择列表字段。

    【讨论】:

    • 感谢您的帮助。当我将示例代码粘贴到 apex 文档中时,'SELECT APEX_ITEM.SELECT_LIST_FROM_QUERY(3,job,'SELECT DISTINCT job FROM emp')job FROM emp'(转换为 pl /sql 形式),在 pl/sql 动态内容区域的 pl/sql 代码框中并执行,它不工作。当我运行页面时,没有任何东西得到渲染。也许我在某个地方出错了。您能否为此发布示例代码。
    • 动态区域的plsql中做HTP.p了吗?
    • 感谢 Arijit,这就是问题所在。当我在 pl/sql 代码中添加 HTP.p 时,列表被渲染了。
    【解决方案2】:

    除非我错了,否则你所要做的就是设置 Select List 项的 Cascading LOV Parent Item(s) 属性。

    Apex 帮助说:

    输入触发此列表刷新的页面或应用程序项 的价值观。对于多个项目,用逗号分隔每个项目名称。 您可以输入名称或从可用项目列表中选择。如果 您从列表中选择,并且已经输入了文本,然后 逗号放在现有文本的末尾,后跟项目 从列表中返回的名称。

    只要有任何 此页面上的指定项目已更改。

    您应该使用在该属性中指定的页面项目 此值列表的 where 子句 SQL 查询以限制值 返回。

    例如,如果您有汽车品牌和型号的页面项目,您可以 将 Car Make 指定为列表中的级联 LOV 父项 模型的值定义,并在 where 子句中使用 Car Make 对于该值列表。然后每当汽车制造商改变时,LOV for 模型已刷新,列表仅显示 当前选择的汽车品牌。

    【讨论】:

    • 是的,但在这里我不知道应该创建多少“选择列表”页面项目,因为我必须遍历分层数据的整个层次结构。级别数取决于(随) 在从先前选择列表中选择的值上。
    猜你喜欢
    • 1970-01-01
    • 2015-08-18
    • 1970-01-01
    • 2019-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-26
    • 1970-01-01
    相关资源
    最近更新 更多