在 Oracle APEX 交互式报表(图标视图)的列中显示带有数据的图标

Displaying icons with data in a column in Oracle APEX Interactive Report (Icon View)

我正在尝试在 Oracle APEX 应用程序中创建交互式报表。我想在报告列中显示图标和数据。

我成功显示了图标,但我想根据单词显示不同颜色的图标。

我在 Oracle APEX 附带的 "Universal Theme Sample Application" 应用程序中找到了一个这样的示例,我在自己的应用程序中应用了相同的方法。

但是在我的应用程序中,所有图标都是黑色的,尽管在示例应用程序中每个数据都以不同颜色的图标显示。

谁能帮我解决这个问题?

这是示例应用程序: Sample Application Screenshot

这是我的应用程序: My Application Screenshot

非常感谢。

您可以通过在 span 的 Style 属性中添加 color css 来为您的图标添加颜色,如下所示:

<span class="fa #STATUS_ICON#" style="color: green;"></span> #STATUS#

并且对于 link:

<div class="dm-IRR-icon"> <span class="fa #STATUS_ICON#" style="color: red;"></span> <span class="dm-IRR-iconLabel">#TASK_NAME#</span> </div>

您还可以通过在样式中添加 font-size 属性来使图标变大或变小,如下所示:style="color: green; font-size: 15px;"

编辑 1:要有不同的颜色,您有 2 个选择:

我。在您的 sql 查询中添加一个新列(icon_color 在我的示例中命名)以引入颜色并在 HTML 表达式中使用它。

SELECT task_name,
  start_date,
  status,
  CASE status
    WHEN 'Open' THEN 'fa-clock-o is-open'
    WHEN 'Closed' THEN 'fa-check-circle is-closed'
    WHEN 'On-Hold' THEN 'fa-exclamation-circle is-holding'
    WHEN 'Pending' THEN 'fa-exclamation-triangle is-pending'
  END status_icon,
  CASE status
    WHEN 'Open' THEN 'red'
    WHEN 'Closed' THEN 'green'
    WHEN 'On-Hold' THEN 'pink'
    WHEN 'Pending' THEN 'orange'
  END icon_color,
  assigned_to
FROM eba_ut_chart_tasks
ORDER BY 2

HTML 表达式:<span class="fa #STATUS_ICON#" style="color: #ICON_COLOR#"></span> #STATUS#

二.在您的查询中添加 1 个案例中的所有逻辑,如下所示:

SELECT task_name,
  start_date,
  '<span class="fa '||
  CASE status
    WHEN 'Open' THEN 'fa-clock-o is-open" style="color:red'
    WHEN 'Closed' THEN 'fa-check-circle is-closed" style="color:green'
    WHEN 'On-Hold' THEN 'fa-exclamation-circle is-holding" style="color:blue'
    WHEN 'Pending' THEN 'fa-exclamation-triangle is-pending" style="color:pink'
  END ||' "></span>'||status as status,
  assigned_to
FROM eba_ut_chart_tasks
ORDER BY 2;

对于此选项,请不要忘记在您的专栏(在本例中为 Status)并将 Escape special characters 属性设置为 NO.