Oracle APEX - 如何在报告的 Link 列上显示工具提示

Oracle APEX - how to show tooltip on a Link column of a report

我有一个带有 link 列的经典报告,单击它会执行 javascript 以打开一个弹出窗口。我需要将工具提示添加到 link.

我知道一种方法 - 在列格式中添加 <span title="My tooltip text">#COLUMN_NAME#</span>,但这仅适用于 Plain Text 列。 我不能只显示我的列,因为它必须是 link,因为它的目标设置为 URL 并调用 javascript 代码。

如果我将列从 link 更改为 Plain Text 因为它需要调用 javascript 并将所有 javascript 代码塞入 <a href> 将是一个问题,因为这样我无法将列值传递给 javascript:

SELECT '<a href="javascript:$s("P1_ITEM1",#FIELD1#);$("#POPUP_REGION").popup("open");">' || MyFunction(t1.id) || '</a>' my_field, t1.field1, t1.field2
FROM Table1 t1

上面的代码没有将 FIELD1 列的值传递给 javascript,而是将其作为字符串 #FIELD1#.

所以我不知道如何做到这两点 - 保留 link 并显示工具提示

我通过在 Link 属性中提供标题标签来使用声明性 Link 目标。

请注意,我的目标是项目 P310_ACTION_ID,它使用列别名 ITEM_ID 中的列值设置它。

该项目上会有一个 DA,然后可以调用弹出窗口或您需要的任何内容。

如果您在 SQL 内执行此操作,则需要构建相同的字符串,更像是

<a title="blah" href="javascript:$s(''P1_ITEM1'','''||t.field1||''');">'||t.field1||'</a>'

或者,如果您不喜欢打架 woodstock-style 引号,您可以使用

的变体使事情变得更容易
  apex_string.format(
     q'{<a title="blah" href=javascript:$s('%s','%s')}'
     ,'P1_ITEM1'
     ,t.field1