【报表制作技巧】动态列报表的制作「建议收藏」

【报表制作技巧】动态列报表的制作「建议收藏」【报表制作技巧】动态列报表的制作

大家好,又见面了,我是你们的朋友全栈君。

在数据信息系统中,常常会看到这样一类报表需求,它们往往格式简单,一般为列表式明细报表,但是要显示的列很多。而不同终端用户在不同时刻关心的数据又不同,这样就要求报表能够让他们随心所欲的选择要显示的列,以便直观地查看数据。最终效果如下图所示:

那怎么实现这种需求呢?

多做几个典型报表,根据用户不同进行不同的加载?这样报表开发工作量就增加了,连吃鸡的时间都没有了;

写个存储过程动态计算要显示的表字段?还需要调试存储过程。

有没有更简单高效的实现方法???——当然必须有,下面看我放大招。

工欲善其事,必先利其器。我们选择的利器就是:润乾报表,具体实现操作如下:

首先,在数据集上通过sql实现动态取数

根据需求效果,我们需要定义两个参数,用于接收要显示的表和字段信息:

对应数据集sql配置如下:

【技巧】${参数名}为参数的高级用法,可以在报表中动态的进行表达式的替换,快速实现动态执行语句的拼接。

然后,在报表单元格表达式中实现动态显示字段

其中,

B1单元格:=to(1,ds1.fcount()) 并设置扩展方式为横向扩展,用于计算需要显示的列数

B2单元格:=ds1.fname(B1) 跟随B1扩展,用于动态显示列名称

A3单元格:=ds1.select(#0) 根据数据集的行数进行纵向扩展

B3单元格:=ds1.field(B1) 用于动态显示对应字段数据

A列为协助实现效果列,故需要选择该列,设置该列隐藏。

最后,我们制作一下参数模板,方便用户选择自己想要显示的表和列数据

设置B2和D2编辑风格为下拉数据集(数据集为提前准备好的内建数据集),并在D2设置关联过滤,便于用户了解对应表下有哪些字段供选择,进行数据分析。

好了,一个完美的动态列报表就完成了,我们来回顾一下其中遇到的问题和解决的技巧:

1.数据集sql实现动态取数

【技巧】使用参数的${参数名}用法

2.单元格表达式实现动态显示字段

【技巧】使用数据集函数ds.field()和ds.fieldname()

至此,动态列报表制作就完成了,我们仅仅使用了润乾报表的参数特殊用法和数据集函数就做好了动态列报表,这一波操作6不6?快来加入润乾大家庭,更多快速简便的报表制作方式等你来挖掘。

转载于:https://juejin.im/post/5b7d1be3f265da433f2a164d

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107351.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月20日 下午1:20
下一篇 2022年4月20日 下午1:40


相关推荐

  • request对象常用方法总结

    request对象常用方法总结JSP内置对象:request对象  客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。request对象具有请求域,即完成客户端的请求之前,该对象一直有效。常用方法如下:常用方法方法介绍StringgetParameter(Stringname)返回name指定参数的参数值Str

    2022年4月30日
    71
  • 大数据平台设计思路

    大数据平台设计思路一 什么是大数据平台一般情况下 大数据平台指的是使用了 Hadoop Spark Storm Flink Blink 等这些分布式 实时或者离线计算框架 并在上面运行各种计算任务的平台 建设大

    2026年3月18日
    1
  • golang 2022.01.13激活码【2022.01最新】2022.03.06

    (golang 2022.01.13激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年4月2日
    233
  • portraiture 3 for mac(PS人像磨皮滤镜插件)激活成功教程教程

    portraiture 3 for mac(PS人像磨皮滤镜插件)激活成功教程教程Portraiture3forMac是PS中优秀的人像磨皮滤镜插件,portraiture3mac激活成功教程版可以对皮肤、头发、眉毛、睫毛等部位进行磨皮润色处理,还能自由调整锐度、柔软度、亮度、对比度等,这里为大家带来portraiture滤镜的激活成功教程教程,赶紧来看看吧!portraiture激活成功教程步骤下载好Portraiture安装包后,点击打开Portraiture.dmg,双击【…

    2022年7月22日
    15
  • 智能体(Agent)工作流中的DeOldify:自动化的图像内容增强环节

    智能体(Agent)工作流中的DeOldify:自动化的图像内容增强环节

    2026年3月12日
    3
  • 什么是多态?为什么用多态?有什么好处?

    什么是多态?为什么用多态?有什么好处?多态可以分为变量的多态 方法的多态 类的多态 我这里强调的是类的多态 这是我们在以后的工作中经常回用到的首先 有这样一个系统 有个学生工作从达内毕业了 作的还不错 买了辆捷达汽车 这个系统应该如何设计呢 按照 OO 的思想 我们会抽象出来一个类 表示捷达汽车 其中有个 run 方法 publicclassJ publicvoidru nbsp nbsp nbsp nbsp nbsp nbsp System out println

    2026年2月14日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号