【问题标题】:Conditional Rendering in Oracle APEXOracle APEX 中的条件渲染
【发布时间】:2021-04-10 10:30:03
【问题描述】:

我想在 oracle apex 中创建条件渲染。

根据用户为页面项目 (P15_CHOICE) 选择的内容(员工、部门(这些是显示的值)),我想显示不同的区域

对于我在服务器端条件中具有以下 SQL 表达式的区域:

InStr(:P15_CHOICE, 'Employee') > 0

但是它不起作用,我也没有错误 有人可以帮忙吗?

【问题讨论】:

  • 页面渲染时P15_CHOICE的值是多少?假设该控件与您要启用或禁用的区域位于同一页面上,您可以修改P15_CHOICE 控件,以便更改导致页面被提交(假设它是一个选择列表,有一个页面操作对此的选择设置),或者您可以设置动态操作,根据更改动态显示和隐藏区域。后者通常会提供更优雅的用户体验,但通常会涉及更多代码。
  • 您的选择是否还提交了页面?这不是默认设置,因此通常为此您需要一个“开始”按钮或在更改时选择“提交”页面,这应该是项目属性中的一个选项。

标签: oracle conditional-statements rendering apex


【解决方案1】:

我假设您在 Apex 设计器中使用 服务器端条件 显示/隐藏此区域。这会评估页面何时呈现,这意味着它使用在会话状态中设置的P15_CHOICE 的值。当您第一次生成页面时,这可能是 null。

可能最简单的做法是更改P15_CHOICE 项,以便在更改值时提交页面。这将导致页面将所有值提交给 Apex,Apex 将使用这些项目的当前值重新生成页面。

另一种选择是始终生成区域,但使用页面加载动态操作将其隐藏,然后在用户选择值时使用页面显示动态操作。

【讨论】:

  • 谢谢。我使用了页面加载动态动作,这对用户来说更具交互性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多