【开发小技巧11】用经典报表实现badge list效果,根据回显内容用颜色加以区分

之前使用badge list实现首页指标数据回显,但是无法根据对应数据进行个性化动态展示,那要如何解决呢?下面就来看看如何通过经典报表实现badge list效果,根据回显内容用颜色加以区分。

普通经典报表

想要做成类似这样的效果并且能按数据环比是增长还是下降进行动态回显:

要实现普通经典报表的美化效果,使其具备颜色判断和动态展示功能,可以按照以下步骤进行:

第一步:改写代码,在对应SQL中加入颜色判断

在SQL查询中添加一个用于颜色判断的列。例如:

示例代码:

复制代码
    CURRENT_PERIOD_NUMBER,
    LAST_PERIOD_NUMBER,
    CASE
        WHEN (CURRENT_PERIOD_NUMBER - NVL(LAST_PERIOD_NUMBER, 0)) >= 0 THEN '#1c891c'  -- 上周期环比上升/持平展示绿色
        WHEN (CURRENT_PERIOD_NUMBER - NVL(LAST_PERIOD_NUMBER, 0)) < 0 THEN '#951f1f'  -- 下降展示红色
        ELSE 'white'  -- 无数据时展示白色
    END AS COLOR,
    -- 其他字段...
FROM your_table;

第二步:设置外观和样式区域

  • 外观设置:

    • 打开报表的"Title Bar"属性。

    • 选择"Template"选项卡,并选择"Badge List"模板。

    • 勾选"Apply Theme Colors"。

  • 外观设置:

    • 模板选项-一般信息勾选"Apply Theme Colors"

    • 在"Style"选项卡中选择"Grid"。

    • 在"Advanced"选项卡中,将"Pagination Display"设置为"Hide when all rows displayed"。

此时,我们会得到乱序的badge。

第三步:对字段进行样式控制和展示

  1. 隐藏无关字段:

    • 将不需要展示的字段设为隐藏列。
  2. 设置要展示字段的格式:

    • 将需要展示的字段设为"纯文本"列。
  • 在"Formatting"选项卡中,设置HTML表达式以控制显示内容。例如:

示例代码:

复制代码
<ul style="list-style-type: none;">
    <li style="font-size: 20px;">#CURRENT_PERIOD_SHOW#</li>
    <li style="font-size: 20px;">#LABLE#</li>
    <li style="color: #COLOR#;">#CONTENT#</li>
</ul>

最后效果展示

通过上述步骤,你的报表将会根据数据自动调整颜色,并且以更美观的方式展示

最后效果展示

旧效果:
  • 数据没有颜色区分,所有信息平铺展示,难以快速识别变化趋势。
新效果:
  • 数据根据条件自动着色(绿色表示上升或持平,红色表示下降),直观展示变化趋势。

  • 使用HTML格式化后的内容更加美观,易于阅读和理解。

通过这些步骤,你可以显著提升报表的可读性和用户体验。

新旧效果对比:上周期环比上升/持平展示绿色,下降展示红色,无数据时展示白色

相关推荐
zxy985 小时前
oracle em修复之路
网络·数据库·microsoft·oracle·database
施嘉伟13 小时前
Oracle 表空间高水位收缩全攻略
数据库·oracle
apcipot_rain13 小时前
【数据库原理及安全实验】实验二 数据库的语句操作
数据库·安全·oracle
woshilys18 小时前
oracle 存储体系结构
oracle
weixin_4094110219 小时前
面向数据库场景的大模型交互微调数据集
数据库·oracle·交互
雯0609~20 小时前
PHP:将关联数组转换为索引数组的完整示例
android·oracle·php
Arbori_262151 天前
Oracle 查看后台正在执行的 SQL 语句
数据库·sql·oracle
北漂老男孩2 天前
MySQL、Oracle 和 PostgreSQL 是三种主流的关系型数据库的主要原理性差异分析
数据库·mysql·postgresql·oracle
Arbori_262152 天前
oracle 索引失效
数据库·oracle
Aurora_木迦2 天前
Oracle AQ
数据库·oracle