Oracle Apex如何在单列中添加查看、编辑、删除多个图标链接?
在Oracle Apex表格列添加多图标链接的实现方法
直接在报表的SQL查询中新增一列,用HTML拼接三个图标链接即可,以下是具体写法:
方法1:手动拼接f?p链接(适合熟悉Apex链接语法的场景)
SELECT EMPNO, ENAME, JOB, SAL, -- 操作列:包含查看、编辑、删除图标 '<span style="display:flex; gap:8px;">' || '<a href="f?p=' || :APP_ID || ':101:' || :APP_SESSION || '::NO::P101_EMPNO:' || EMPNO || '" title="查看">' || '<span class="fa fa-eye" aria-hidden="true"></span>' || '</a>' || '<a href="f?p=' || :APP_ID || ':102:' || :APP_SESSION || '::NO::P102_EMPNO:' || EMPNO || '" title="编辑">' || '<span class="fa fa-pencil" aria-hidden="true"></span>' || '</a>' || '<a href="f?p=' || :APP_ID || ':103:' || :APP_SESSION || '::NO::P103_EMPNO:' || EMPNO || '" title="删除" onclick="return confirm(''确定要删除这条记录吗?'');">' || '<span class="fa fa-trash" aria-hidden="true"></span>' || '</a>' || '</span>' AS ACTION_LINKS FROM EMP;
方法2:使用Apex内置函数生成链接(更简洁不易出错)
推荐用APEX_PAGE.GET_URL函数自动生成链接,避免手动拼接参数出错:
SELECT EMPNO, ENAME, JOB, SAL, '<span style="display:flex; gap:8px;">' || '<a href="' || APEX_PAGE.GET_URL( p_page => 101, -- 查看页面ID p_items => 'P101_EMPNO', -- 目标页面接收主键的项名 p_values => EMPNO -- 当前行的主键值 ) || '" title="查看">' || '<span class="fa fa-eye" aria-hidden="true"></span>' || '</a>' || '<a href="' || APEX_PAGE.GET_URL( p_page => 102, -- 编辑页面ID p_items => 'P102_EMPNO', p_values => EMPNO ) || '" title="编辑">' || '<span class="fa fa-pencil" aria-hidden="true"></span>' || '</a>' || '<a href="' || APEX_PAGE.GET_URL( p_page => 103, -- 删除页面ID p_items => 'P103_EMPNO', p_values => EMPNO ) || '" title="删除" onclick="return confirm(''确定要删除这条记录吗?'');">' || '<span class="fa fa-trash" aria-hidden="true"></span>' || '</a>' || '</span>' AS ACTION_LINKS FROM EMP;
后续设置
把报表中ACTION_LINKS列的列类型设置为「HTML Expression」,Apex就会正确解析HTML代码,显示出带图标的操作链接。
注意事项
- 替换代码中的
101/102/103为你实际的查看、编辑、删除页面ID。 P101_EMPNO等项名要和目标页面上的项名称完全一致。fa fa-eye这类是Apex默认集成的Font Awesome图标类,可根据需求换成其他图标(比如fa fa-search、fa fa-edit等)。- 外层
<span>的样式可自行调整,比如修改gap值调整图标间距,或者添加颜色样式。
内容的提问来源于stack exchange,提问作者Zaza Zaza
相关产品推荐
相关产品推荐

