【问题标题】:Set value dynamic action not working in apex设置值动态操作在顶点中不起作用
【发布时间】:2014-09-17 10:38:47
【问题描述】:

我在 oracle apex v4.2 中创建 sql 动态操作时遇到问题。我有两个字段,部门编号和部门名称。部门编号是具有自动完成功能的文本字段。部门名称是一个显示字段。更改部门编号时,应通过 sql 查询显示部门名称。

我在部门编号上创建了一个设置值动态操作,在要提交的页面项目中提供正确的值,并提供引用 P3_DEPARTMENT_NO 的正确 sql 查询。

当我运行页面时,选择部门编号后,部门名称不会自动出现。

您能否就我可能遗漏的内容提出建议。

提前致谢。

【问题讨论】:

  • 什么事件触发了你的动态动作?
  • 它的 On Change 事件。我尝试更改逻辑以在页面上创建一个按钮,然后单击以调用动态操作。但是如果我需要为两个以上的字段设置值,它只为第一个字段设置值,而将其他字段留空。

标签: sql oracle-apex


【解决方案1】:

你可以试试这样用:

  • 第一步:在共享组件 -> 应用程序进程中:创建一个进程 myProcess 并将您的 sql 动态放入。
  • 第二步:创建一个javascript函数myFunction来调用进程myProcess。
  • 第三步:使用onChange事件调用你的javascript函数myFunction。

您还可以在 Denes Kubicek 应用程序上找到很多示例:https://apex.oracle.com/pls/otn/f?p=31517:101:116042570427567

最好的问候,

朱利安

【讨论】:

    【解决方案2】:

    自动完成列表的确切行为可能取决于浏览器,但一般来说,不要依赖“更改”事件,因为当您从列表中选择时它不一定会触发。

    您需要尝试在特定情况下获得所需的行为,但作为起点,您可能需要尝试将动态操作中的“更改”事件类型替换为“失去焦点”。这样一来,当您在 P3_DEPARTMENT_NO 之外进行 Tab 或单击时,应始终触发动态操作。

    在过去的类似情况下,我使用“释放焦点”而不是“失去焦点”,并且创建了第二个动态动作,它做同样的事情,但由“获得焦点”触发。这种组合可确保显示字段与用户的选择保持同步,无论是键入值还是从自动完成列表中选择值。您是否走这条路取决于您对每次用户以任何方式与 P3_DEPARTMENT_NO 交互时数据库被您的部门名称查询命中的满意程度。

    【讨论】:

    • 好的。谢谢你。我们可以使用此动态操作设置的值的数量是否有任何限制?我尝试创建一个按钮,然后在提交时触发一个动态操作,该操作用于显示部门编号的部门名称。但是如果有超过 5 个字段需要使用两个不同的查询进行设置。我在动态动作中添加了两组动作。但是所有的值都没有被设置。最后 2 个字段将变为空白。会不会是设置值只适用于有限数量的字段值
    • 可能有一个限制,但你肯定没有达到。出于好奇,我刚刚测试了在一个动态操作中设置 10 个字段值,并且效果很好。实际上,如果我有那么多字段要查找,我可能会考虑使用报告。也许您应该将此作为另一个问题打开,并详细说明您的问题。
    猜你喜欢
    • 2015-08-21
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    相关资源
    最近更新 更多