【问题标题】:Using dynamic action to hide/display a LOV based on another LOV with a variable condition使用动态动作来隐藏/显示基于具有可变条件的另一个 LOV 的 LOV
【发布时间】:2019-02-12 05:34:17
【问题描述】:

我为此使用 apex 4.2

这就是我想要做的:我有一个定义的 LOV,它是获取架构类型的查询和获取数据库类型的查询的联合。根据该 LOV 的值,我希望第二个下拉列表仅显示在第一个 LOV 中选择的值是一个模式

我在谷歌上没有找到任何相关的东西。我知道还有 javascript 方法可能会做我想做的事,但到目前为止我的尝试并不顺利,但如果有人已经做了类似的工作,我不介意去那里

如果需要更多详细信息,请告诉我,谢谢

到目前为止我所做的:我创建了一个动态操作,如果值在模式列表中,则在更改第一个 LOV 时,然后显示第二个 LOV,如果不隐藏它。

这很好用,唯一的问题是我需要将硬编码列表放在条件值中才能正常工作。我想将查询结果放在一个变量中,并在动态操作中使用该变量,这样即使架构类型列表随时间发生变化,它也能在所有情况下工作。

要重新创建我的设置,您需要一个 LOV 项目,该项目应填充至少 4 个元素,您可以很好地调用 1、2、3 和 4。然后创建第二个项目以根据LOV 的值。根据列表 (1,2) 中条件的项目 LOV 更改创建动态操作,其中显示第二项的真实操作

现在我正在寻找的是用 :P1_VARIABLE 替换列表 (1,2) 中的实际值,该值将包含值“1,2”

Expected results: When page loads, the LOV is hidden, when a schema value is selected, LOV appears

实际结果:正是在使用具有硬编码条件值列表的动态操作时。改用变量时,LOV 永远不会出现

无论选择什么,Javascript 尝试总是显示 LOV

【问题讨论】:

    标签: oracle-apex


    【解决方案1】:

    想通了,使用 bind 不起作用,因为没有传递的值是有意义的,但是当我尝试使用字符串替换时它也不起作用,但这是因为 Apex 需要一个 .在变量的末尾进行替换,这就是为什么这个选项也不起作用。

    因此,如果其他人有同样的问题,只需将&variable. 放入您的条件字段中,它应该可以正常工作

    【讨论】:

    • 我不确定 &P1_ITEM。语法(区分大小写)属于所描述问题的任何地方。我会考虑一些检查 Item = Value 的动态操作的客户端条件 - 不需要标点符号。
    • 我想要一个具有“列表中”条件的动态操作,使用变量作为值,这就是 &P1_ITEM.语法开始发挥作用,因为您需要字符串替换以将变量值影响到条件值
    • 那么您现在有一个潜在的 SQL 注入/SGA 泛滥问题(通过手动构建 SQL 字符串)?也许看看oracle-base.com/articles/misc/dynamic-in-lists
    猜你喜欢
    • 2022-01-03
    • 1970-01-01
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-29
    • 1970-01-01
    相关资源
    最近更新 更多