最近有个需求,帆软实现报表多级菜单动态折叠和展开,官方给的方法有2种:条件属性折叠树和动态参数折叠树,具体实现参考:
条件属性实现折叠树- FineReport帮助文档 - 全面的报表使用教程和学习资料
最下面有模板,建议直接下载套用,否则会像我一样配半天还出错了。。。
先说下这两种方法的弊端:
一、条件属性折叠树:
1、合并单元格分页时格式有问题,上一页合并后下一页框线显示不出来;
2、展开/折叠一级属性时,与之相同的一级属性都会全部展开/折叠。
二、动态参数折叠树:
1、展开/折叠一级属性时,与之相同的一级属性都会全部展开/折叠;
2、无法默认展开全部。
需求已定,必须要默认展开全部,但是方式一分页真的丑爆了,于是开始摸索方式二
发现手动展开全部一级属性时请求传参的特点:pre设为所有一级属性的拼接值(比如按照模板的数据集,传参pre:ABC即可实现展开全部)
解决方法:
帆软添加一个可用不可见的文本控件,名为pre,值为ABC,就可以在查询时展开全部项。
ps:此方法并不友好,面对大数据集就无法实现了,如有更好的解决方法,欢迎评论。