5

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

我已经按照 JavaBeans 规范定义了一个车辆 bean。我正在考虑使用参数映射通过主报告将此数据传递给子报告,如将JRBeancollection 数据源传递到主报告和子报告帖子中所述。

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

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

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}).

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

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

4

1 回答 1

3

删除未使用的波段和/或将详细波段调整为与字段相同的高度。

于 2012-08-02T10:36:09.483 回答