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

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

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

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

那怎么实现这种需求呢?

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

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

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

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

首先,在数据集上通过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年6月6日
    38
  • Java解析XML字符串「建议收藏」

    Java解析XML字符串「建议收藏」在网上找了很多Java语言解析XML字符串的资料,很多内容写得很繁复,没有普适性,遂自己动手写了一个用Java解析XML的工具类。话不多说,直接看下面代码:XML解析工具类:importorg.dom4j.Document;importorg.dom4j.DocumentException;importorg.dom4j.Node;importorg.dom4j.io.SAXReader;importjava.io.ByteArrayInputStream;importjava.

    2022年6月4日
    189
  • PHP提高编程效率的方法

    PHP提高编程效率的方法

    2021年8月20日
    48
  • 有auto为什么还要decltype ?详解decltype的用法[通俗易懂]

    有auto为什么还要decltype ?详解decltype的用法[通俗易懂]decltype用法auto和decltype推导类型的区别decltype用法:1.decltype变量2.==decltype表达式==2.1表达式做右值2.2表达式能做左值3.decltype函数3.1decltype(f())3.2decltype(f)C++11中decltype的主要作用auto和decltype推导类型的区别在中,我介绍了auto的用法及其实际编程中的应用,既然auto可以推导变量的类型,为什么C++11还引进decltype类型说明符呢?关于这一点,C++

    2025年10月10日
    3
  • 学习大数据需要掌握哪些Java技术

    学习大数据需要掌握哪些Java技术大数据产业已进入发展的”快车道”,急需大量优秀的大数据人才作为后盾。如果你是Java编程出身,那学习大数据自然是锦上添花;但如果你是刚刚接触大数据技术,还在Java编程基础阶段,这篇文章非常值得你看!首先,我们学习大数据,为什么要先掌握Java技术?Java是目前使用非常广泛的编程语言,它具有的众多特性,特别适合作为大数据应用的开发语言。Java不仅吸收了C++语言的各种优点…

    2022年5月12日
    63
  • MATLAB GUI编程总结

    MATLAB GUI编程总结MATLABGUI编程总结:创建MatlabGUI界面通常有两种方式:1使用.m文件直接动态添加控件2使用GUIDE快速的生成GUI界面一、创建GUI方法一.:在.m文件中动态添加h_main=figure(‘name’,‘ademoofguidesign’,‘menubar’,‘none’,…’numbertitle’,’off’,’posi…

    2022年4月29日
    45

发表回复

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

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