在 Oracle Apex 经典报告中显示星级

Showing star rating on Oracle Apex Classic Report

星级现在是 oracle apex 表单的内置项目类型。

但是如何在报告中很好地显示它们呢?特别是在显示卡片的经典报告中。 它不是内置的经典报告列类型。使用不同类型的报告会更容易吗?

星级项目类型只能用作独立的表单项目或交互式网格中的列。

您不能在经典报告或开箱即用的交互式报告中使用它 - 但让您的 sql 输出相应的只读 html 应该相当简单,就像这样:

select
    '<span class="fa fa-star"></span>
     <span class="fa fa-star"></span>
     <span class="fa fa-star"></span>'
as x from dual
union
select '<span class="fa fa-star"></span>' as x from dual

我发现我的问题的答案在这里得到了很好的记录:https://community.oracle.com/message/15550215#15550215

即说明:

  1. 将 RATING 列上的 HTML 表达式 属性 设置为:
<span class="fa u-hot-text report-star-rating" data-rating="#RATING#" title="#RATING#" aria-hidden-"true"></span>
<span class="u-VisuallyHidden">#RATING#</span> 

将 u-hot-text 更改为另一个实用程序 class(如果需要)以改变星星的颜色。

  1. 将此样式 sheet 添加到主题滚轮的自定义 CSS 部分:
.report-star-rating {  
  white-space: nowrap;  
}  
.report-star-rating[data-rating="0"]::before {  
  content: "\f006\f006\f006\f006\f006";  
}  
.report-star-rating[data-rating="1"]::before {  
  content: "\f005\f006\f006\f006\f006";  
}  
.report-star-rating[data-rating="2"]::before {  
  content: "\f005\f005\f006\f006\f006";  
}  
.report-star-rating[data-rating="3"]::before {  
  content: "\f005\f005\f005\f006\f006";  
}  
.report-star-rating[data-rating="4"]::before {  
  content: "\f005\f005\f005\f005\f006";  
}  
.report-star-rating[data-rating="5"]::before {  
  content: "\f005\f005\f005\f005\f005";  
}