报表中含有多个表格,每个表格不同的数据源,高度不固定,记录下模板创建过程。
首先,为了避免表格内容重叠,我们用分组的方式将每一个表格单独放在一个栏位。
同一个栏位放多个表格会出现下图内容重叠的情况:
1、分析需求,设计报表布局
根据报表需求,共有5个表格,所以我们创建2个组,将5个表格分别放在:
Group1 Group Header1、Group2 Group Header1、Detail 1、Group1 Group Footer1、Group2 Group Footer1
如下图所示:
2、创建table
拖动table组件到对应栏位,按照下图一步步操作:
选择一个json数据源:
Use a JRDatasource expression:
((net.sf.jasperreports.engine.data.JsonDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("test1")
设置table样式,只保留 Add Column Header,finish表格创建完成了。
增加序号列,调整表格的宽度,内容显示高度。
双击进入表格编辑区:
右键Column Header,创建一列,使用Data set 中的Variables的COLUMN_COUNT函数作为序号列。
设置字体大小,表格内容Text Field属性,Text Adjust : StretchHeight
设置表格的宽度,整体报表的内容宽度:550px
列宽充满表格元素:
再选择单列调整宽度:
预览效果:
其他表格同样方式创建。