【问题标题】:Displaying icons with data in a column in Oracle APEX Interactive Report (Icon View)在 Oracle APEX 交互式报表的列中显示带有数据的图标(图标视图)
【发布时间】:2017-01-09 20:00:20
【问题描述】:

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

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

我在 Oracle APEX 附带的“通用主题示例应用程序”应用程序中找到了一个示例,我在自己的应用程序中应用了相同的方法。

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

谁能帮我解决这个问题?

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

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

非常感谢。

【问题讨论】:

  • 你是怎么添加图标的?在您的报表查询的 SQL 中?还是作为 HTML 表达式?
  • 作为 HTML 表达式。 <span class="fa #STATUS_ICON#"></span> #STATUS# 和报告属性 -> 自定义链接:<div class="dm-IRR-icon"> <span class="fa #STATUS_ICON#"></span> <span class="dm-IRR-iconLabel">#TASK_NAME#</span> </div>
  • 和sql查询: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, assigned_to from eba_ut_chart_tasks order by 2

标签: oracle-apex oracle-apex-5


【解决方案1】:

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

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

对于链接:

<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;"

Edit1:要使用不同的颜色,您有 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 表达式:&lt;span class="fa #STATUS_ICON#" style="color: #ICON_COLOR#"&gt;&lt;/span&gt; #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;

对于此选项,不要忘记继续在您的列(本例中为状态)并将 Escape special characters 属性设置为 NO

【讨论】:

  • 这非常有用,但它并不能完全满足我的需求。如果我这样做,所有的颜色都是相同的,但我希望每个条件都是不同的颜色。我有机会为每个条件定义单独的颜色吗?
  • 我选择了第一个选项,并且能够顺利运行。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2017-01-21
  • 2018-11-11
  • 2015-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-19
相关资源
最近更新 更多