要求:
我在DB中有一个表格如下:
COP_MASTER
-----------------
CopDuty CopName
Duty1 Alpha1
Duty2 Alpha2
Duty1 Alpha3
Duty1 Alpha4
Duty2 Alpha5
使用 iReport 我需要准备一份报告,报告如下:
CopDuty CopName
Duty1 Alpha1 Aplpha3 Alpha4
Duty2 Alpha2 Aplha5
此处,CopNames列表水平增长(或者更简单地说,列是动态的)。
我已经尝试过使用subReport并在subReport的详细信息区域内使用List元素,其中list元素的PrintOrder保持“水平”。但是列表是垂直增长而不是水平增长。
有任何建议或帮助吗?
答案 0 :(得分:0)
转到子报表元素的“属性”选项卡,执行以下更改,如下所示:
子报告表达式:$ P {SUBREPORT_DIR} +" CopSubReportFileName.jasper" DataSourceExpression:new net.sf.jasperreportsengine.data.JRBeanCollectionDatasource($ F {cops})
这里我们要注意的是,如果"警察"是" Duty" BO然后上面的解决方案就好了。但如果要通过DB conn直接测试那么" dutyId"必须作为报表输入参数传递给子报表,以便提取和打印相应的copNames。