【开发小技巧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格式化后的内容更加美观,易于阅读和理解。

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

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

相关推荐
lie..5 小时前
30天从零开始学AI应用开发(Day 17):ChromaDB 上手:给本地文档建一个“外挂大脑”
数据库·人工智能·oracle
其实防守也摸鱼9 小时前
DeepSeek Harness 开源贡献手记:从 Issue 到 Merge 的完整旅程
android·数据库·学习·ai·oracle·自动化
我叫洋洋1 天前
Cadence CIS 元器件库合并实战:3000+ 焊盘、156 个符号零冲突并入自有库
数据库·单片机·嵌入式硬件·oracle·电路
晚风叙码1 天前
MySQL 表的操作:从建表到删表,一篇讲清楚
android·mysql·oracle
其实防守也摸鱼1 天前
渗透测试学习计划(全栈综合 · 零基础进阶)
android·数据库·学习·安全·oracle·自动化·学习方法
无忧.芙桃1 天前
网络安全与个人信息保护
oracle
泡海椒2 天前
数据占比展示:jquick-pdf饼图动态数据渲染PDF教程
数据库·oracle·pdf
jnrjian2 天前
Connect Microsoft Tools to Oracle Databases powerbi 之类的oracle 客户端
数据库·microsoft·oracle
TDengine (老段)2 天前
集群从“能用“到“高可用“:副本、选主与故障切换到底怎么配
大数据·网络·数据库·物联网·oracle·时序数据库·tdengine
LRL_2 天前
【云原生】Oracle Linux 9.6 离线(Air-Gapped)环境下安装 Longhorn 及其底层依赖(iSCSI/NFS)完全指南
linux·云原生·oracle