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.
的行
是否可以在过滤器上添加动态值。 我正在尝试使用当前用户保存带有过滤器的报告:
也许有可能;虽然,我不知道如何。无论我试过哪个选项:
: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.
的行