Oracle Apex:如何将动态值放入过滤器

Oracle Apex: How to put a dynamic value in filter

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

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

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

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

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

where blocked_by = :APP_USER

那肯定行得通。

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

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.

的行