皕杰报表软件是一个灵活易用、功能强大的主流Java报表工具,即可以做各种复杂的报表,也可以做主子组合报表,本文介绍如何用皕杰报表来做主子组合报表。所谓主子组合报表是指主报表包含了多片区域,每片区域各自展示不同的主题,像这样的报表我们称之为主子组合报表。其中每一小片区域称为子报表,子报表构成的报表整体称为主报表。
本例中主表为05子报表演示.brt,子表分别为05-1产品.brt、05-2订单.brt、05-3订单明细.brt。
子报表设计相关示例体验网址:http://demo.bijetsoft.com/iface (体验账号密码:admin/1)
子报表设计相关brt下载网址:http://www.bijetsoft.com/product-download.html
(下载最新版本,最新版本中含有相关brt文件)
05-1产品.brt
05-2订单.brt
05-3订单明细.brt
点击如图所示的公式编辑按钮,弹出公式编辑对话框。
编辑公式:subreport('Demo/08其它特性/05-1产品.brt')
同理,另外两个单元格的公式编辑分别为:subreport('Demo/08其它特性/05-2订单.brt')、subreport('Demo/08其它特性/05-3订单明细.brt')。
A.子报表传参问题
子表中有参数 date(日期类型) 、type (字符串类型)和 name (字符串组类型)
主表中有date1参数(子表date的参数值)、B3(子表type的参数值)和集合F4{}(子表name的参数值)
那么子报表连接表达式应该是subreport('Demo/06图表演示/01饼状图.brt','date='+tostr(@date1,'yyyy-MM-dd')+';type='+B3+';name='+tostr(F4{}))
B.子报表路径问题
报表设计器端:subreport的报表路径从主表所在项目作为根目录,然后设置同项目下的子表的路径。例如饼状图.brt,它在项目视图中是Demo-06图表演示-01饼状图.brt,那么子报表表达式应该是subreport('Demo/06图表演示/01饼状图.brt')
Web服务器端:报表默认是放到WEB-INF/reports(report_config.xml设置报表存放路径的根目录地址)目录下的,如果子表放到WEB-INF/reports/Demo/06图表演示/01饼状图.brt这个路径下,那么子报表表达式应该是subreport('Demo/06图表演示/01饼状图.brt')。