日期:2014-05-20  浏览次数:20666 次

在程序里怎么给交叉报表(JasperReport)传递参数?
大家好,我想问下,在程序里怎么给交叉报表传递参数? 
下面是详细信息,谢谢! 
-------------------------- 
普通的报表:
没有使用 <subDataset/>标签。 
<parameter name="classId" class="java.lang.Integer"/> 
在程序里(Java): 
  Map map = new HashMap(); 
  map.put("classId", 1); 
  JasperPrint jasperPrint = JasperFillManager.fillReport(report,map, conn); 
这样就可以传递成功了。 

交叉报表:
<subDataset name="SubDataset3"> 
  <parameter name="classId" class="java.lang.Integer"/> 
  ............... 
</subDataset> 
在程序里使用上边的办法参数传递不进去。 
-------------------------- 
在网上找了很多资料都是针对普通报表的参数传递。 
官方的demo里,也有这样的代码: 
<subDataset name="SubDataset3"> 
  <parameter name="classId" class="java.lang.Integer"/> 
  ............... 
</subDataset> 
但没有提示如何传参,再次谢谢!

------解决方案--------------------
mark下学习了
------解决方案--------------------
没注意过传参数做交叉表,你先用 ireport 做一个看下,然后再考虑下具体情况改下, 有段时间没接触 jasperReport了

------解决方案--------------------
但不管怎么样,也应该有个 parameterMap吧,你看看接口说明
就像 datasource那样有个 parameterMap