Oracle APEX交互式报告条件列链接显示

我有一个交互式报告,显示文章表中的所有记录.对于已登录的作者,我想显示所有记录,但是只应为该作者撰写的那些文章显示EDIT.在文章表中,我有CREATED_BY列,其中包含作者用户名.

我在链接列中添加了条件作为表达式1中的项目/列的值=表达式2,因为Expression1 =#CREATED_BY#& Expression2 =:APP_USER

但这不起作用.这是我第一次采用这种方法根据条件显示编辑链接.

当我添加条件表达式1中的项目/列的值不为空并设置Expression1 =#CREATED_BY#时,它仍然没有显示编辑链接.所以,我认为#CREATED_BY#返回null.但是表中的记录有一个值&我也在报告专栏中看到了它.

有人可以帮忙吗?我不知道我哪里出错了.

解决方法

您使用的条件是列,而不是每行,因此您将无法以这种方式执行此操作.

我认为实现此目的的最佳方法是在查询中创建一个虚拟列,您将用作编辑链接:

SELECT
     CASE
      WHEN CREATED_BY = :APP_USER THEN
        '<a href="' || APEX_UTIL.PREPARE_URL( p_url => 'f?p=' || &APP_ID. || ':<YOUR EDIT PAGE>:'||&SESSION.||'::NO::<PAGE ITEM>:'||COLUMN ID,p_checksum_type => 'SESSION') || '"><img src="/i/menu/pencil2_16x16.gif"></a>'
      ELSE ''
    END edit_link,...THE REST OF YOUR QUERY...

您还必须将列定义下的列的显示更改为

Standard Report Column

您可以选择删除下面的选项

Allow Users To:
so the user couldn’t hide/sort/… the column.

希望这可以帮到你.任何疑问或进一步解释只是问.

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注