2014-10-09 47 views
0

我正在创建简单的报告在Jaspersoft工作室5.6.1与一个表。从主数据集传递数据到表数据集

通过JRBeanCollectionDataSource从Java向此报告发送数据。

在报告中,我已经可以得到这个数据争夺字段:报告 - >数据集和查询 - > JavaBean的选项卡 - > 在Class Name写的Java类,附带在JRBeanCollectionDataSource列表 - >添加选择字段

所以,现在我可以显示传入的数据。

但是,如果我想在表中做 - 我需要创建数据集(为什么?),并选择“使用相同的连接用于填写主报告”。将相同的字段添加到新数据集中并没有帮助,既没有为数据集选择“连接到域”。没有错误显示。

enter image description here

回答

0

我需要创建数据集(为什么?)

Jasper Reports表松耦合主报告,即表需要有自己的dataset处理。

现在说,您有JRBeanCollectionDataSource准备好报告,并且您希望使用它来填充table。如我所说的表需要它自己的数据集,也需要它自己的datasource

现在您可以指定一个datasource或使用相同的连接来填充主报表。

欲了解更多关于碧玉报告表,请访问this链接和Java部分访问here

0

我有类似的问题。我发现,你只需要在你的报告表设置REPORT_CONNECTION参数好比说

jaspercomunity 
this

然后将该值留空。稍后在你的java代码中使用一个maper对象来设置与你的数据库的SQL连接,如下所示:

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=admin"); 
HashMap<String, Object> hm = new HashMap<String, Object>(); 
hm.put("REPORT_CONNECTION", conn); 
jasperPrint = JasperFillManager.fillReport(reportPath, hm, beanCollectionDataSource);