【问题标题】:Oracle Apex create a form that is split into multiple regionsOracle Apex 创建一个拆分为多个区域的表单
【发布时间】:2021-07-17 16:18:32
【问题描述】:

我有一个商家申请表,我想将其拆分为多个区域,以便用户一次只需查看应用程序的一个部分。因此,每个区域都绑定到同一张表:

  1. 每个区域都必须共享相同的主键
  2. 我只希望在表单末尾提交一个表单项

我读了这篇文章Create an Apex form with multiple pages 通过使用Hide and Show Region 模板并手动将表单分成多个区域,这使得它看起来很容易完成。我遇到的问题是 Apex 需要一个主键来绑定到每个表单区域,但您也不能在同一页面上有重复的项目。有什么想法吗?

-- 在此处附上错误信息的PNG Primary Key ERR

【问题讨论】:

    标签: oracle forms oracle-apex


    【解决方案1】:

    对我来说,它看起来像一个包含多个区域的页面。这样做,您将只有一个主键项。

    从逻辑上讲,您可以将项目分成不同的区域。他们每个人都应该使用其“服务器端条件”来决定是否在特定时间渲染(即显示)该区域。这意味着它不必是一个隐藏和显示区域(此外,它总是在这里并且可见,用户只是决定是否显示其内容)。您可以创建任何区域类型(甚至是普通的 HTML 区域)。

    例如:

    • 第一个区域显示客户 ID、姓名和地址。其他区域是“隐藏的”,因为例如P1_ID IS NULL 满足,因为尚未提交任何数据。一旦用户输入 ID、姓名和地址并提交页面,P1_ID 就会获取其值,从而可以显示其他区域
    • 第二个区域包含一些其他客户数据的项目;它现在可见,因为 P1_ID 不再是 NULL,但第三个区域仍然隐藏,因为您没有在第二个区域中输入一些必需的数据,这将使第三个区域显示。
    • 等等

    【讨论】:

    • 非常感谢您的帮助,我非常喜欢使用“服务器端条件”来显示每个区域的想法。我现在使用“静态内容”类型的多个区域,然后将每个项目的源设置为“表单”区域中的相应列。
    • 最后一个问题,是否可以将两个服务器端条件应用于一个区域?这样可以隐藏已经完成的区域,因此一次只显示一个区域?我假设这可能需要一些 PL/SQL
    • 不,只有一个条件。但是,您可以使用 function(返回布尔值)(作为条件)并 - 正如您所说 - 编写 PL/SQL 代码,该代码将 执行您需要的逻辑
    【解决方案2】:

    请注意,您所指的帖子是 6 岁。这就像中世纪的巅峰之作——从那时起发生了很大的变化。

    如果您想要多个页面,这是一种方法。只需使用相同的表单创建多个页面(使用创建表单功能)并根据特定页面所需的功能删除您不想显示的页面项目。如果表单中未包含数据库列,则 dml 进程将不会触及它。这应该相对容易创建。

    注意:如果您想快速了解表单,请阅读此blog

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-02
      • 1970-01-01
      • 2016-12-24
      • 2023-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多