如何在oracle apex报告中仅向某些符合特定条件的行添加编辑按钮

时间:2018-03-28 10:37:36

标签: plsql oracle-apex

我想在oracle apex report.suppose中添加一些特定行的编辑按钮。我只想在那些有job = manager的行中创建一个编辑按钮。 单击该按钮后,我将被重定向到我的应用程序中的另一个页面。请帮助解决这些问题。

1 个答案:

答案 0 :(得分:2)

您可以通过添加“显示为文本”类型的列来实现此目的,并将“转义特殊字符”设置为“否”,在报告SQL中定义如下:

 ...
 case when e.job = 'MANAGER' then
   q'[<input type="button" value="Edit" onclick="redirect(']'
   || apex_page.get_url
        ( p_page => 123
        , p_items => 'P123_EMPNO'
        , p_values => e.empno
        )
   || q'[')" class="myButtonClass">]'
 end as edit_button

在此示例中,单击该按钮将重定向到同一应用程序的第123页,并将此行的empno值传递给项目“P123_EMPNO&#39;。

您可以使用class属性来应用样式化的类 - 您可能希望使用像't-Button&#39;这样的通用主题类名。为了一致性。

通过以下评论应用于您的SQL:

SELECT apex_item.checkbox(1,empno,'UNCHECKED') " ",
       empno, ename, job, hiredate, sal, comm,
       case when job = 'MANAGER' then
         q'[<input type="button" value="Edit" onclick="redirect(']'
         || apex_page.get_url
              ( p_page => 123
              , p_items => 'P123_EMPNO'
              , p_values => empno
              )
         || q'[')" class="myButtonClass">]'
       end as edit_button
  from emp;