Oracle Apex:如何在过滤器中放置动态值

问题描述

是否可以在过滤器上添加动态值。 我正在尝试使用当前用户使用过滤器保存报告:

enter image description here

解决方法

此问题的解决方案是将变量作为一列包含在查询中,然后对该列进行过滤。 例子: 您的选择将类似于

SELECT 
  your_value1,CASE WHEN created_by = :APP_USER THEN 1 ELSE 0 END AS is_current_user
FROM 
  your_table

如果您随后在 is_current_user 上设置过滤器,您将只会获得 created_by = :APP_USER 的行。

,

也许有可能;不过,我不知道如何。无论我尝试过哪个选项:

  • :APP_USER
  • &APP_USER.
  • v('APP_USER')
  • 创建了一个页面项目,其来源为 :APP_USER 并基于该项目进行过滤

没有任何效果。 Apex 在这些 表达式 周围应用单引号,因此 - 将它们视为字符串,例如':APP_USER'

但是,您可以在这种特殊情况下做的是编辑查询本身并添加WHERE条件:

where blocked_by = :APP_USER

那肯定行得通。