如何动态填写报表?

时间:2011-06-27 15:50:11

标签: java sql jasper-reports

我必须从我的应用程序生成报告, 首先,用户选择他的搜索条件然后他验证他的选择(搜索条件:图表类型,分组等) 我的问题是:我如何构建我的报告? 我的想法是:

1-declar String SQL

2-当用户检查搜索条件时,我会将他的选择连接到sql请求 例如:

String sql; String select =“select”; 来自=“from”的字符串; 字符串where; =“where” String和=“and”; String GroupBY =“Group by”;

当他选择计算数量... groupby .... 我会结束: select = select +“count(*)”etc

ALSO

我正在使用映射JPA / Hibernate所以我不使用从我的代码连接到数据库(我的意思是我没有明确声明con = connection ....),所以我应该传递给方法。 fillReportToFile,runReportToPdfStream等

1 个答案:

答案 0 :(得分:0)

我通常会实现JRDataSource,并且根本不会在我的报告中包含任何SQL。这样,您就可以获取报告生成的参数,并以受控方式直接将结果提供给Jasper报告。

如果生成包含嵌入式子报告的报告,则可能仍需要提供连接。

/* Where datasource is your data supplier */
JasperFillManager.fillReport(report, parameterMap, dataSource);