IReport报表制作概述

上传人:野鹰 文档编号:3028237 上传时间:2017-07-30 格式:DOC 页数:24 大小:1.70MB
返回 下载 相关 举报
IReport报表制作概述_第1页
第1页 / 共24页
IReport报表制作概述_第2页
第2页 / 共24页
IReport报表制作概述_第3页
第3页 / 共24页
IReport报表制作概述_第4页
第4页 / 共24页
IReport报表制作概述_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《IReport报表制作概述》由会员分享,可在线阅读,更多相关《IReport报表制作概述(24页珍藏版)》请在金锄头文库上搜索。

1、IReport 介绍什么是 iReport?iReport 是一个能够创建复杂报表的开源项目,并且它能调用 JasperReports 库应用于任何一种 java 应用程序。本身是分布式的且由符合 GNU 通用公共许可的百分之百纯 java 编写。由于它丰富的图形界面,你能够很快的创建出任何一种你想要的报表。必要条件:iReport 需要 Sun Java 2 SDK 1.4 以上版本; 为了能编译 jasper 文件就必须安装完整的java2( JDK),不光是 (JRE)这个运行环境。如果你还想编译 iReport 源代码,你还要安装Jakarta Ant version 1.6 以上版本

2、。硬件方面,类似于 java 的环境,iReport 也占很多的 RAM,所以它也需要至少 256Mb 的内存和至少 20Mb 的磁盘空间。报表结构这章我们将分析报表的构成,来观察一下它由那几部分构成,当用数据打印时这几部分是如何运转的。Bands一个报表依靠“type”页来定义说明。它被分成不同水平的一份被叫做bands。当报表加入数据去打印时,这些部分被印刷很多次依照他们自身的属性(依照报表创建者设计的规则)。举个例子,page header 被重复的打印在每页的开始部分,这样的话,每个band都会重复的打印每一单一的记录。这个 “type” 页被分成9个预先确定的bands作为新组被加进

3、去。事实上, iReport控制每一个头条(Group header )和一个摘要条(Group footer)为每一个组。图4.1一个带总是和页的宽度一样(左右的空白除外)然而它的高度,即使已经被设计好,但可能还会依据被包含在内的元素的实际来打印;它能够自由的延长靠近页底。这种特色的出现在bands包含一个subreports或者text field时纵向的内容。通常情况下,bands的高度被用户指定一个“minimal height”。不是所有的bands能依照内容被这个外力改变,特别是:Column Footer,Page Footer 和 Last Page Footer.所有的ban

4、d 高度的总和(除了background)总是小于或等于页的top和bottome之间的最小高度。Title这是首先看到的band 。它被创建仅仅一次,可能被打印在每一分开的页。耍点小聪明,你能利用这个模拟一个无效的subreports(随后我将看看如何做)。关于尺度的确认,它是不可能躲过去的,在报表页的高度设计期间。As regards the admitted dimensions, it is not possible to exceed,during design time, the report page height (包含top和bottome标记之间)。如果title被打印在几

5、张单独的页面上,这个band的高度不用被包括在整个band 的高度之内的,一般低与page的高度。Page header这个band允许你设计一个page的header。它的高度在设计阶段被定义,通常不会改变在创建报表的过程中(除非有垂直插入相当大的成分,例如这个textfields包含很长的文本和 subreports)。页面的header出现在整个打印页的相同位置在设计阶段期间。Title和Summary bands 不包括page header 在打印一个单独的页时。Column header这个band在每一个详细的列开始时被打印。这column的概念一会儿再解释。通常的,包含标签的t

6、abular 报表的列的名字被插入在这里。Group header一个报表能容纳零个到多个group bands,它允许收藏详细的记录在不动groups。有group header ,自然要有group footer(他们能能独立的展现和取消)。不同的属性被联合在一个group。他们确定他们的行为功过查看 graphic point。它是可能的影响一个新的页的group header 或者一个 newcolumn,打印这个band在整个页的下面,如果这个bands超出了一个单独的页(以一个组的级别作为一个page header)。它是可能的去修改被请求的高度并打印它:如果它是超过其他的高度,这

7、个group将被打印在一个新的page (特别要注意它的值由于太长,在打印时会无限的循环),等等。接下来我们将详细讨论groups 。DetailDetail band 将每个通过 datasources读到记录响应的传给打印机。很可能,大多数的元素都被放在这里。Group footer这个band表示一个 group的结束。通常它包含的区域显示小计或者分开图解元素,作为一条线,等等。Column footer这个band的出现表示每一个column的结束。它的尺寸是不能被调整的(即使它包含一个相当大的元素,像subreports或者文本域)。Page footer这是页脚。它和page he

8、ader同时出现在每页。同column footer一样,他是不足够大的。Last Page footer如果你想使最后一页的footer 与其他的页的footers不一样,这时可能就要用到这个band。如果这个 band的高度是0,他将被完全的忽视,其他确定结构的普通页也能适用在最后一页。它首次出现在JasperReports的0.6.2版本。Summary在其他的地方这个组名被叫做report footer。它允许你在 report的最后插入你想要的任何内容关于总结等。BackgroundBand第一次出现在JasperReport0.4.6版本时。它由于许多用户的坚持不懈的要求能够创建水

9、印和similar effects 而引入 (整个页面的结构). 它可以具有最大的高度以至于和页面高度一样。报表属性(1)报表的名字是第一个属性。这个名字是本地命名,它和源文件的名字是相互独立的,它仅仅被JasperReports library 调用(例如:命名一个报表编译后的java文件)。(2)页面的尺寸大概是报表最重要的属性。iReport 和 JasperReports使用的最小量度单位是像素。(像素大小是75点每英寸,每英寸的点数)。然而,我们经常使用的报表的量度单位更为平常,像厘米,英寸或毫米。下表列出了量度标准和像素大小。由于尺寸管理基于像素,所以当我们用不同的量度看同一数据会

10、发生很大改动。(注:每30像素为1CM)Page type Dimensions in pixel(像素)LETTER 612 x 792NOTE 540 x 720LEGAL 612 x 1008A0 2380 x 3368A1 1684 x 2380A2 1190 x 1684A3 842 x 1190A4 595 x 842A5 421 x 595A6 297 x 421A7 210 x 297A8 148 x 210A9 105 x 148A10 74 x 105B0 2836 x 4008B1 2004 x 2836B2 1418 x 2004B3 1002 x 1418B4 709

11、 x 1002B5 501 x 709ARCH_E 2592 x 3456ARCH_D 1728 x 2592ARCH_C 1296 x 1728ARCH_B 864 x 1296ARCH_A 648 x 864FLSA 612 x 936FLSE 612 x 936HALFLETTER 396 x 612_11X17 792 x 1224LEDGER 1224 x 792表4.1通过修改高度和宽度,你就可以创建任意大小的报表。(3)报表页的定位有landscape和portrait选项,Portrait代表纵向报表,Landscape代表横向报表。(4)页面的空白尺寸依赖于page Marg

12、in选项卡的四个输入值来确定。(5)一个报表页被几条平行线分开为几部分:bands。column和记录集是没有关系的,只和detail band 有关系。意思就是说一条记录用十个fields和一个表的话,不需要十列。然而,这些元素可以用table实现恰当的放置。十列将导致一个很长的记录列(非常狭窄的横条)被打印。下面的例子将告诉你怎样设置值为一个简单的列报表在A4纸上。字段数的值是1,它的宽度和整个页面一样,除了空白。列之间的空间没有意义,所以它的值是0。(注:设计脊背、照片卡片等报表时需要)当“字段数“输入2。iReport将自动的计算列的宽度依照页的空白和宽度。如果你想在两列之间插入空白,

13、那就为“spacing”填写一个值。 所有的空白,列的宽度和每列之间的空白,加起来要小于页的宽度。如果不检验这种情形的话可能导致错误产生。(6)脚本是一个java类,它的方法执行在报表生成期间,通过触发一个特殊的事件,在scriptlet选项卡,可以指定一个外部的脚本(java 类)或激活iReport的内部脚本支持。如果不想使用脚本,那就设置下拉菜单的值为:Dont use scriptlet class或者在输入区域填写你所要使用的类的名字。(7)在”more.” 选项卡可以对打印进行设置。Title on a new page 选项:Title指定为一个新页的选项,打印在每页的开始,在t

14、itle 之后页面将发生大的变化。图4.12和4.13展示报表的结果,图4.11显示报表。图4.11Title被打印总是一样的,而且在每页的顶部。图4.12显示使用缺省设置打印的结果:图4.12图4.13显示打印的结果如果“title on a new page “选项设置为true。像你看到那样,没有一行其他的band 被打印在 title页,甚至没有page header 或page footer。然而这页仍然计算这页的总数。图4.13Summary on a new page 选项:这个选项完全和先前的选项一样,只是summary band被打印在最后一页。现在,如果你选择了这项,那新页

15、将包含summary band 。Floating column footer 选项:这个选项允许你加强column footer band的打印,直接在最后detail band(或group footer)后显示而不不在column后显示。当你想用报表元素创建表格时使用这个选项。 (详细请看JasperReports tables.jrxml) 打印顺序:Print order用来决定如何组织打印多列数据。缺省的print order一是vertical,它是垂直的打印记录直到页末开始打印新的一列。Horizontal print order prints 以横向打印记录当一行占据页宽后开

16、始打印另一行。图4.14和4.15:图4.14 图4.15这两个图清晰的显示这个两个选项的概念。如你看到的,每个名字按字母的顺序打印。图4.14显示了纵向的打印(第一列打印完接着打印第二列),图4.15显示了横向的打印(打印完所有的行显示出整个列)无数据打印(如果没有数据时):当提供一个空的数据打印时(或者sql查询没有返回记录) 一个空文件被创建(或返回是一个零字节长度的流)。这个缺省的行为能被修改通过指定其他的,在没有数据时。(指when no data)。表4.2概述了可能的值和意义。Option DescriptionNoPages 缺省值,最后的结果为空。BlankPage 返回一个空白页。AllSectionsNoDetails 返回整个页的组成,出了detail band表4.2i18n:il8n选项卡用来设置片段的参数。Resource Bundle Base nameResource Bundle base name 是一个参数名,当你想使报表国际

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号