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

Uma*_*ngo 4 oracle oracle-apex

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

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

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

当我添加条件Value of Item / Column in Expression 1 is not null并设置Expression1 =时#CREATED_BY#,它仍然没有显示编辑链接.所以,我认为这#CREATED_BY#是返回null.但是表中的记录有一个值,我也在报告专栏中看到它.

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

hma*_*ues 8

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

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

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...
Run Code Online (Sandbox Code Playgroud)

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

标准报告栏

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

允许用户:以便用户无法隐藏/排序/ ...列.

列定义

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