求助!!jasperreport中,javabean做数据源,无法传递给table组件使用

forestandriver23 2012-12-13 11:37:30
代码如下,equipTypeList是List类型,作为数据源传递给报表,但是貌似只能在主报表中取到该数据源,报表中的table组件却无法使用,哪位高人给指点一下,万分感谢!!!

@Action(value="genHtml",results={@Result(name="success", type="jasper", params={"location","/testrpt/jasper/testrpt1.jasper","format","${type}","dataSource","equipTypeList","imageServletUrl","/image?image="})})
public String genHtml(){
List<EquipType> ets=this.equipTypeDAO.findByHQL("select et from EquipType et", new HashMap<String, Object>());
List<EquipTypeStat> etss=new ArrayList<EquipTypeStat>();
for(EquipType et:ets){
EquipTypeStat etst=new EquipTypeStat();
etst.setCode(et.getCode());
etst.setName(et.getName());
etst.setModelcount(et.getEquipModels().size());
etst.setEquipcount(0);
etss.add(etst);
}
this.equipTypeList=etss;
log.info("equipTypeList size:"+equipTypeList.size());
return "success";
}
...全文
246 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
forestandriver23 2012-12-13
  • 打赏
  • 举报
回复
引用 楼主 forestandriver23 的回复:
代码如下,equipTypeList是List类型,作为数据源传递给报表,但是貌似只能在主报表中取到该数据源,报表中的table组件却无法使用,哪位高人给指点一下,万分感谢!!! Java code?12345678910111213141516@Action(value="genHtml",results={@Result(name="success", type="……
没出错,就是取不到数据。
捡到一枚菊花 2012-12-13
  • 打赏
  • 举报
回复
呵呵,建议你一行一行的打印测试下吧,我以前程序报错也是这样测试的,
dracularking 2012-12-13
  • 打赏
  • 举报
回复
给出的代码在哪出错了呢?
raistlic 2012-12-13
  • 打赏
  • 举报
回复
引用 7 楼 forestandriver23 的回复:
引用 6 楼 raistlic 的回复:你的JasperReport对象是用xml编译生成的,还是代码直接生成的? 后者我没做过,前者需要给你的table组件指定 <dataSourceExpression></dataSourceExpression> 对对,大侠,就是这个,求怎么设置…… List<EquipType> equipTypeList 是我返回的……
我下班了,你先看看这个: http://thoughtdeprivedmusings.blogspot.com.au/2011/05/filling-table-in-jasper-reports.html 推荐你用iReport,而不是手动编辑xml文件。
forestandriver23 2012-12-13
  • 打赏
  • 举报
回复
引用 6 楼 raistlic 的回复:
你的JasperReport对象是用xml编译生成的,还是代码直接生成的? 后者我没做过,前者需要给你的table组件指定 <dataSourceExpression></dataSourceExpression>
对对,大侠,就是这个,求怎么设置…… List<EquipType> equipTypeList 是我返回的dataSource,需要在table里取到^
raistlic 2012-12-13
  • 打赏
  • 举报
回复
你的JasperReport对象是用xml编译生成的,还是代码直接生成的? 后者我没做过,前者需要给你的table组件指定 <dataSourceExpression></dataSourceExpression>
forestandriver23 2012-12-13
  • 打赏
  • 举报
回复
引用 4 楼 dracularking 的回复:
引用 3 楼 forestandriver23 的回复:没出错,就是取不到数据。 同2楼,那也至少要知道代码是在哪步执行的问题 List<EquipType> ets=this.equipTypeDAO.findByHQL("select et from EquipType et", new HashMap<String, Object>()); 是这一……
不是,这个是我从数据库取数,没有问题。是table的dataset为空。哪位在用javabean做数据源给table做dataset的,求指点……
dracularking 2012-12-13
  • 打赏
  • 举报
回复
引用 3 楼 forestandriver23 的回复:
没出错,就是取不到数据。
同2楼,那也至少要知道代码是在哪步执行的问题 List<EquipType> ets=this.equipTypeDAO.findByHQL("select et from EquipType et", new HashMap<String, Object>()); 是这一步?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧