牛刀小试iReport

新建报表:菜单栏的File---NewDocument--ReprotName中设定报表名--OK
编译报表:菜单栏的Build--Compile
运行报表:菜单栏的Build--Execute


iReport的国际化
启动iReport之后,有时候它的窗口菜单栏呈现的是繁体汉字
这是由于其国际化没有做好,我们可以修改iReport,使其显示英文或简体中文
Options--选项--General--语言--选择英文即可
若想显示中文的话,那么选择第3个中文(中国)即可


添加静态文本
点击上方工具栏中的StaticText按钮然后在报表中拖动出一个矩形框即可
点中报表里的StatciText框右键选择Properties可以详细的编辑静态文本


预览报表的底层实现所应用的技术
选择完预览方式之后,在预览时,实际上都是由相应的组件来帮助我们完成的
比如转换PDF格式,它使用的是iText组件这是一个很有名的使用Java操纵PDF的工具
比如转换Office格式,它是使用Apache--POI组件来转化的


预览报表
iReport支持多种方式的预览,也就是说它可以转化为多种格式
我们预览时所看到的就是以最终呈现出来的报表的方式进行查看的
它默认的为JRViewerPreview预览,我们也可以选择其它的预览方式
编辑报表之后,需要先Compile报表,然后再Execute报表
另外,其中的Java2DPreview预览是非常炫的,预览时可以实现鼠标翻书的效果


通过报表向导新建报表
File--ReportWizard--接下来我们一一说明
Query:Connections/DataSources中选择定义好的数据源
SQLquery输入SQL语句,比如select * from person
Fieldsselection:左框会自动呈现表字段,右框就是用来指定显示在报表里面的字段
Group by...:指定按照哪个字段进行分组
Layout:指定报表模板,比如说我们选择classicC.xml经典的模板
Finish:此时会弹出compatibilitywarning兼容警告框,无需理会,直接点击确定即可


按照预览方式关联到程序
运行报表时会在下方OutputConsole中输出提示信息。如果提示如下信息的话
No external viewer is specified for this type of print.Set it in the Options pane.
指的是当前预览方式并没有关联到具体打开程序上,需要在选项面板中设置它
点击菜单栏的Options--Settings...--ExternalPrograms--配置打开方式


新建数据源
Data--Connections/Data Sources--New--Database JDBC connection
//iReport-2.0.5//lib//中已经自动为我们提供了连接数据库需要用到的JAR包了
若要连接其它数据库,而恰巧//iReport-2.0.5//lib没有提供相应的数据库驱动的话
我们可以自己将该数据库驱动拷贝到//iReport-2.0.5//lib中,然后重启iReport即可
此时iReport会自动将数据库驱动,也就是把连接数据库用到的JAR包加载进来了
Name:自定义数据源名字,比如mysql_connection
JDBCURL:输入Database后,点击后面Wizard按钮,按项会自动添充
Server Address:数据库服务器地址,比如localhost
Database:所连接的数据库名
User Name:连接数据库的用户名
Password:连接数据库的密码,我们可以点击下面的Test按钮测试连接


报表上的表达式
点中报表上$F{age}右键Properties--TextField--TextFieldExpression
在它的右侧的Opentheexpressioneditor按钮可以打开表达式编辑器
Text Field Expression中显示的就是绿色的$F{age}
这里F指的就是数据库里面的字段,{}中表示的就是字段名,不用加引号
表达式为绿色的则表示该信息是正确的,如果是蓝色的则表示该信息错误


PDF Preview的中文问题
若报表中含有中文,那么在以PDF Preview预览时,就可能会出现乱码或空白
这是由于iReport使用的是iText生成PDF的,而iText默认的是不支持中文的
所以要到http://itextpdf.sourceforge.net下载iText的支持亚洲文字的iTextAsian插件
然后把下载到的iTextAsian.jar拷贝到//iReport-2.0.5//lib中,再重启iReport
此时不要急着预览,还要修改一些参数,点中报表上含有中文的StaticText框
右键Properties--Font--将PDFFontName改为STSong-Light字体
接着将最下方PDFEncoding改为UniGB-UCS2-H(Chinese Simplified)即可
并且这个弹出的Properties对话框,没有确定按钮,修改完参数后即立刻生效
另外:关于iText的学习,大家不用去买书,直接在网上搜些资料就可以了
此外:Manning出版社出版的《iTextINACTION》的也是唯一的一本iText方面的书


定制$F{field}的显示
默认$F{field}会显示所有字段的值,我们也可以决定它显示某一个字段值
选中$F{field}右键Properties--Common--Printwhenexpression框
可以在该框中输入一个返回布尔值的表达式,即返回true时,才打印字段值
比如说我们想让报表打印username的值不是zhangsan的所有人的名字
则可以输入new java.lang.Boolean(!"zhangsan".equals($F{username}))


真正开发时建立报表的方式
在真正开发中建立报表时,报表向导用的并不是很多
这是因为报表向导存在一些局限性,我们只能按照它的一些模板去定制报表
实际上报表是根据客户的要求去定制的,而模板通常是不符合要求的
所以,我们通常会从新建普通报表开始:选择File--New Document


普通报表的主窗体的Band释义
TitleBand:仅仅显示在整个报表的第一页的最上面。类似于一本书的书名
除第一页外的所有其它页面中都不会出现Title band中的内容
pageHeaderBand:显示在整个报表的所有页面的最上端。类似于Word的页眉
但是在报表第一页中,它的内容将显示在Title Band的下面
pageFooterBand:显示在所在页面的最下端。类似于Word的页脚
lastPageFooterBand:即尾页的页脚,仅仅显示在最后一页脚处
此时最后一页将不再显示pageFooter band
DetailBand:即报表内容段,在Detail Band中设计报表中需要重复出现的内容
并且Detail band中的内容会显示在每一页中。类似于Word的正文
columnHeaderBand:针对Detail Band的表头段。一般在该段中画报表的表头
columnFooterBand:针对Detail Band的表尾段
SummaryBand:表格的合计段。出现在整个报表最后一页的Detail band后面
一般用来统计报表中某一个或某几个字段的合计值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值