首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

在struts2应用中,关于Ireport子报表$F(XXX)作为数据源有关问题的解决办法

2012-09-17 
在struts2应用中,关于Ireport子报表$F(XXX)作为数据源问题的解决方法近来要给客户做子报表,采用之前的jasp

在struts2应用中,关于Ireport子报表$F(XXX)作为数据源问题的解决方法
近来要给客户做子报表,采用之前的jasper+ireport来开发,结果发现子报表上数据源是个问题,查了很多技术文章,却被难在了new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{addresses}) 上,发现很多人和我一样,无法解决这个报错问题,好象是只有在struts2应用中才出这个问题。由是搞了一整天,最终得到了一个解决方法,如下:



在主报表中添加参数addresslist,并且通过参数属性界面更改参数类型(默认为String类型的),更改为java.lang.Object

打开在主报表中添加的子报表控件的属性面板,查看connection type 属性,选择Use a datasource expression 选项打开在主报表中添加的子报表控件的属性面板,查看Data Source Expression属性,填写$F{addressList}

这样,子报表中可以得到addressList这个数据源,整个关键在于
row.put("addressList",  new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource(slist2));

放进主报表数据源的时候要已经是JRBeanCollectionDataSource类型了。
好了,如果大家还有什么问题可以给我留言 
我邮箱:zhazhijun@163.com

热点排行