读心术揭秘廖章 2012年4月15日
几经探索,终于寻到在一个报表中使用多个数据源的方法,现在分享出来以便后来者少走弯路!网上很多资料说多数据源只能使用子报表方式,呵呵! 一个报表中使用多个数据源的场景:
在同一张报表中,既有交叉表又有饼状图,交叉表与饼状图分别使用不同的数据源。具体报表格式如下:
市民需求情况(2012年1月~2012年3月)
| 云杉镇办事指南 | 公共服务 | 企业服务 | 社区服务 |
数量 | 458 | 833 | 74 | 244 |
全面整顿 占比 | 无意注意28% | 52% | 5% | 15%18cr2ni4wa |
| | | | |
第一、使用iReport报表设计器设计报表(本人使用iReport4.5.1版本),步骤:
1.新建空白报表。打开iReport软件,点击【File】菜单的【New】子菜单,在弹出的New file窗口中按红框指示选择,然后点击右下角中间的【Launch Report Wizard】按钮,使用向导来新建一张报表。 互联网信息服务管理办法在下一个窗口中,输入报表文件名以及选择保存的目录路径,点击【下一步】:
在弹出的新窗口中,设置报表使用的查询连接或数据源,可以使用一个jdbc连接或java object数据源,如果前你已经设置有数据源,可以选择你原来的数据源,或者你可以点击【New】按钮新建另外一个数据源,这里我选择新建一个数据源。
新建数据源,这里新建一个JavaBean数据源:
在弹出的设置Fields窗口中继续点击【下一步】
在弹出的设置Group by…(分组)窗口中继续点击【下一步】
新建报表最后一步,按【完成】按钮,至此新建一张空白报表完成。
2.设置报表。由于目标报表只放置一个交叉表和饼状图表,故报表只需要报表的title和detail两部分其余的page header、column header等不需要(高度设置为0)
把其他不需要的band(栏)高度设置为0后,报表如下图:
3.为报表添加三个参数:reportTitle(报表标题)、crosstabData(交叉表的数据)、pieData(饼状图数据)。