iReport 无数据源格式报表

来源:互联网 发布:分布式关系型数据库 编辑:程序博客网 时间:2024/05/19 16:06

报表这个恶心玩意,做了一次真心不想再做第二次。

之所以选择无数据源的格式来写报表,主要原因是因为业务太复杂,写sql太麻烦(其实不写sql这种方式也他么也不简单,但是对比写sql来说逻辑上更容易实现一些)所以选择无数据源的格式的方式写报表。

1.新建一个报表文件,    文件--->new ----->Black A4 -------->Open this Template  (也可以根据自己需要选择其他格式的页面样式)  ------>选择文件存放路径------>下一步  -------->finish

2.选择空数据源

3.然后是画报表的格式(有一点要说的是在iReport中俩中类型的参数,一个是Parameters ,另一个是Fields)

4.把静态的报表字段以及表头画完后需要把数据列放到表格中一般我的建议是在报表中的Detail1中放报表中的数据,也就是Fields类型的数据(当然你也可以随意),

在iRport Inspector窗口中选中Fields右击------>添加 Field (A) 至于这个Field的名字,这个要注意一下,这个名字一定要和你自己传递给报表文件中类的属性名字一致(如果任性可以不一致,出不来数据,怪我咯),至于重命名以及修改它的类型,可以打开属性面板(窗口 --->属性),可以修改名字和类型(参见下图)。

至于其他的表头元素(比如说:公司名字、报表制作时间、报表作者等一些信息字段(跟表中数据无关的那种信息)),也是类似的方法,但是用的Parameters类型的参数,也可以通过属性窗口设置名称和参数类型,但是有一点要注意的是如果希望通过java程序传递过来就要把Use as a prompt 勾选上(如果不知道怎么勾选,建议您放弃,毕竟凡人的东西是不能衡量神的智商的 ^ - ^),这样这个参数就要同通过外部(你自己写的java程序中传递)传递。当然也可以设置参数的默认值,这样当你外部程序不传递参数时它就会使用默认值(新建的Parameters)。【1.名字,2类型,3是否要外部传递,4默认值】

5.基本上报表的部分就结束了,下面的是java程序,大体的思路是这样的:建两个类,一个是表中的数据实体,属性对应每个列名;另个一类是用来存放基本信息的就是Parameter参数类型的信息的,属性跟参数名一定要一致,不然传递不过去。

6.写好后把填充的实体设置到一个工具类中就可以使用了。工具类的代码可以自己去网上搜一下

       









0 0