隐藏子区域直到单击按钮

Hide subregion until button click

顶点 20.1 @ apex.oracle.com

我有一个相当冗长的表格,我需要将其分为三个部分,以免让最终用户不知所措。我想通过一次提交事件将整个表单提交到数据库。

因此,我有一个表单区域,里面有 3 个子区域。每个分区包含 1/3 的问题。我想在页面首次加载时隐藏子区域 2 和 3。子区域 1 底部的继续按钮应该隐藏子区域 1 并显示子区域 2。

我已经创建了将隐藏子区域 1 的动态操作,但我无法弄清楚如何在页面加载时隐藏第二个和第三个子区域。

我尝试添加一个名为“currentbank”的页面项目,将其初始值设置为 1,然后对于子区域 2,我将其服务器端设置为 Item = Value...currentbank = 2。在动态操作中,然后我在隐藏子区域 1 之后添加了两个步骤。首先是设置 currentbank 的值 = 2,然后显示子区域 2。但这不起作用。没有错误消息,但是当我单击继续按钮执行动态操作时,子区域 2 不可见。

我还可以尝试其他什么方法来隐藏子区域 2 和 3,然后隐藏“当前”区域并在用户完成问题时显示下一个区域?

在呈现页面之前评估服务器端条件。因此,如果组件的服务器端条件为假,则该组件不会出现在页面上。另一方面,动态操作处理 在页面上呈现的组件。

因此,如果您有一个因服务器端条件而隐藏的组件,它永远无法通过动态操作显示,只是因为它不在页面中。 您的问题可以完全通过动态操作来解决。以 2 个区域和 2 个按钮为例。一个按钮“显示区域 1”,另一个按钮“显示区域 2”。所需的功能是仅显示该区域,因此单击“显示区域 2”将隐藏区域 1。该示例可以轻松实现超过 2 个区域。

  • 创建 3 个区域(Buttonregion、Region1 和 Region2)和 2 个按钮(区域 Buttonregion 中的 Button1 和 Button2)。
  • 在 Button1 上添加名为“Show Region1”的动态操作(事件:单击 Button1)。添加 2 个动作:一个显示 Region1 的动作和一个隐藏 Region2 的动作。确保两个操作的标志“初始化时触发”都设置为打开。
  • 在 Button2 上添加名为“Show Region2”的动态操作(事件:单击 Button2)。添加 2 个动作:显示 Region2 的动作和隐藏 Region1 的动作。确保两个操作的标志“初始化时触发”都设置为关闭。
  • 仅此而已。保存并测试。