2014-09-22 51 views
2

作为一个初学者,我通常使用JasperReports的准备从“数据库”的报道,但现在在我的项目,我需要在的JasperReports的报告中显示的JTable数据和通过单击按钮显示JasperViewer窗口。如何显示的JTable中的数据的JasperReports

任何人都可以帮助我吗?

这是我的jTable:|

enter image description here

回答

4

您可以使用JRTableModelDataSource实施JRDataSource接口,其被设计为与Swing TableModel接口一起使用的。请考虑以下代码片段:

TableModel model = new TableModelImp(); // TableModel implementation here 
JTable table = new JTable(model);  
... 
Map params = new HashMap(); 
... 
JRDataSource dataSource = new JRTableModelDataSource(table.getModel()); 
JasperPrint print = JasperFillManager.fillReport("pathToYourReport.jasper", params, dataSource); 
JasperViewer.viewReport(print, true); // true == Exit on Close 

查看更多示例。

参见:

+0

感谢您的帮助:) – Sparky 2014-09-23 18:11:04

+0

但现在我有另一个问题。在这个程序中,JTable列的数量将由用户决定。所以当我使用iReport-5.6.0设计报表时,我不知道如何添加字段。 (每个栏需要一个字段。) 有什么想法? – Sparky 2014-09-23 18:26:31

+0

欢迎您:)请看Jeff Ortman撰写的这篇杰出文章:[在JasperReports中构建动态列](http://solutiondesign.com/building-dynamic-columns-in-jasperreports/)。作者不使用iReport创建报告,而是使用JasperReport API以普通Java创建报告。 – dic19 2014-09-23 20:12:10