JasperReports:通过参数图和&amp ;;传递列表每条记录在新页面上打印的详细记录

时间:2012-07-31 23:24:26

标签: jasper-reports

我正在尝试为新车和二手车创建一份包含2个子报表的报表。

我根据JavaBeans规范定义了一个车辆bean。我正在考虑使用参数映射通过主报告将此数据传递到子报告,如Passing JRBeancollection datasourse to master report and subreport post所述。

到目前为止我采取的步骤如下:

第一步 - 将集合作为参数传递

Map<String, Object> jasperParameter = new HashMap<String, Object>();
jasperParameter.put("new_Vehicles", createNewVehicles()); //returns a collection of vehicles.

第二步 - 在主报告中创建参数new_Vehicles并将其设置为Collection数据类型

第三步 - 为子报告创建数据源表达式为 net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{new_Vehicles})

第四步 - 创建一个字段(只是为了让我在添加更多字段之前使其工作),vehicleId在子报告中。

我遇到的问题/问题,并希望得到任何帮助:
a)当我编译它给我一个错误消息,上面提到的数据源无法解析为一个类型。我做错了什么?

好的,所以我想我可能已经超越了异常,在数据表达式new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{new_Vehicles})前添加了“new”。

但是,现在如果我将两个新车辆添加到列表中,则会在两个页面中打印,基本上每个元素在列表中打印一页。我的列标题位于 列标题 区域,我的字段位于 详细信息 区域。

有关如何阻止它将列表中的每个元素放在不同页面上的任何建议吗?

1 个答案:

答案 0 :(得分:3)

删除未使用的波段和/或将细节波段调整到与场地相同的高度。