我在用
文件名.jrxml
文件来创建一个简单的报告
itext4.8.0
它工作正常,但我正在传递这样的参数。
$P{userId}]
现在我想用同样的
文件名.jrxml
用java代码我怎么能做到这一点?我主要关心的是,当我在 ireport 中运行报告时,我们如何像在 ireport 中一样传递参数值,它正在为参数打开弹出窗口并且我正在输入值。但是在 Java 代码中如何传递该参数?
注意:-我不想通过报告的连接。
我在这篇博文中找到了解决方案
下载 jasperreport 引擎
final Map<String,Object> parameter = new HashMap<String, Object>();
parameter.put("userId", 1l);
JasperFillManager.fillReport("filename.jasper", parameter, getData());
// set your own params for this method
public JRDatasource getData() {
// initialize a collection of Objects
// Oh yes the query
final Query query = getQuery("from SomeObject");
final List<SomeObject> collection = (List<SomeObject>)query.list();
return new JRBeanCollectionDataSource(collection);
}
另一种可能
JasperFillManager.fillReport(jasperReport, parameter, connection);