关于iReport中子报表中交叉表的问题 在线等

qq2511296 2012-06-15 03:57:52
主报表的设计图如下图:
子报表中有交叉表,所以放在了summary里面
子报表的Collection/data source expression 设置的是 use Collection expression



子报表中的fields:
date java.lang.String
quantity java.lang.Integer
categoryName java.lang.String

子报表里面的sql:

SELECT DATE_FORMAT(po.date,'%Y-%m-%d') AS date,SUM(pi.quantity) AS quantity,c.name AS categoryName FROM serviced_by sb ,purchase_item PI,purchase_order po,product_option opt,product p,product_category pc,category c
WHERE sb.purchase_item_id=pi.purchase_item_id
AND pi.purchase_order_id=po.purchase_order_id
AND pi.product_option_id=opt.product_option_id
AND opt.product_id=p.product_id
AND pc.product_id=p.product_id
AND pc.category_id=c.category_id
AND sb.company_id=7
AND sb.user_id=24322
GROUP BY po.date,c.category_id
ORDER BY po.date


我这样直接动态执行主报表,可以从数据库中查询到数据如图显示:




然后修改了这个交叉表的数据源,数据由java程序获取,然后传到ireport里面
我把数据封装成了一个List list里面肯定是有数据的
把payrllVO传到主报表中(payrllVO里面有payrollItemsVOList 已有get/set方法)
在主报表中定义了一个filed
payrollItemsVOList java.util.List

然后把子报表原来的sql删除
再设置子报表的
Collection/data source expression
设置为 user data source expression
new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{payrollItemsVOList})




现在子报表中的数据拿不到,就显示了一条横线



有用过ireport的朋友,指导下吧,这问题困扰好几天了

另外如果有交叉表 貌似只能放在summary里面 其他地方貌似不显示数据
...全文
136 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq2511296 2012-06-15
  • 打赏
  • 举报
回复
我就算用刚开始那种可以显示数据的方式,把这个放到服务器下后 用程序生成出来啊pdf 子报表中的交叉表也一样没数据

81,092

社区成员

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

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