ireport报表学习
- 常用组件介绍:
.jpg)
制作一个报表一般四个组件比较常用,下面分别介绍
Rectangle:用于画表格的样式,整个表格的样式使用次组件做出来的,本控件表现为一个黑色矩形框,多个黑色矩形框排在一起可以组合出来任何想要的报表样式。
Static Text:静态文本框,报表上显示的静态文本,都是由他完成的,主要用于显示报表标题、表头的静态文本。
Text Field:报表最主要最常用的控件,主要用于呈现数据库里面字段的值。
Subreport:子报表,在制作一些稍微复杂的报表中会用到,后面专门讲解。
- 根据报表用Rectangle控件拼出表结构
分析此报表主要包括标题、表头和数据部分,单位、月底押犯人数所在的行是表头部分,标题和表头可以都放在Page Header带区里面;下面是数据部分,数据部分显示的行是由数据库里面的记录条数决定的,只需要在detail带区里面设计一个行模板就可以。
设计完后的效果如下图所示:
.jpg)
- 使用Static Text把为表头加上汉字说明每一列的意思
页面上所有静态显示的文本都可以通过Static Text实现,报表标题、表头都是静态的文本,只需要从组件模板托动Static Text组件到对应的位置,然后改一下组件默认显示的文本即可。
Static Text组件常用属性介绍如下:
设置高度、宽度的属性就不在讲解了
Text:设置显示的文本,直接设置属性不支持回车,如果需要输入回车符,需要点击后面带有省略号的按钮,打开一个单独设置文本的对话框在对话框里面加回车符。
Font name设置字体,设置字体时只能设置系统里面安装的已有字体,如果想要的字体没有找到需要安装字体。
Size:设置字体大小,设置字体大小时一次可以选择多个Static Text组件进行统一设置。
Horizontal Alignment:报表水平对齐方式,一般设置成居中显示。
Vertical Alignment:设置报表的垂直显示方式,一般也设置成垂直居中。
以下两个属性是输出PDF格式报表时必须设置的否则中文不显示。
Pdf Font name:必须设置成STSong-Light
Pdf Encoding:必须设置成UniGB-UCS2-H (Chinese Simplified)
设计完后的效果如下图所示:
.jpg)
- 使用Text Field将数据库里的数据显示到报表中
报表的主要工作,开始之前需要连接到数据库,然后为报表提供数据源。
A.连接数据库的方法如下:
点击工具栏上的“Report Datasources”按钮,打开数据库连接对话框,点击“new”按钮,打开添加连接对话框,选择数据源类型(一般选择Database JDBC connection),点击下一步根据实际情况输入连接名称、数据库用户名、密码、所使用的驱动,驱动列表中红色显示的是环境中没有安装的,不能使用。设置完成后点击测试,然后点击完成即可。
B.指定数据源
数据库连接成功后,需要为报表指定数据源,指定数据源就是从数据库的具体的表中通过select语句把数据查询出来,报表将自动将查询结果在detail带区中显示。
具体操作如下:
选择常用工具栏上的
按钮,打开report query对话框,输入查询语句,输入正确后下面的字段列表中将会显示字段列表,否则显示错误提示信息。
注:此处select语句真正在项目中使用需要先定义参数,然后将参数名($P!{sele})写在这里,参数的值是select查询语句,参数的内容后面章节将会有详细介绍。
C.将数据库中的字段添加到报表
以上A、B做完后,会在报表结构栏的Fields栏目下面显示数据库的所有字段,使用时只需要将对于的字段拖动的对于的表头下面即可。
D.Text Field常用属性介绍
Print When Expression:Text Field组件显示条件设置。
Blank When Null:此属性一般情况下都需要选择上,可以避免在没有数据的情况下报表中显示null值。
其他属性同Static Text,不在一一介绍。
5、常见问题
Text Field这个组件在输出PDF格式时,如果需要改变字体,需要指定字体的具体路径及字体文件名字(如设置宋体值应为:C:\WINDOWS\Fonts\simfang.ttf),直接选择宋体将没有效果。
引用:http://www.kwstu.com/ArticleView/kwstu_2013312144530673
ireport报表学习的更多相关文章
- 关于iReport报表的分页
问题:二手车认证系统的检测报告采用iReport开发,开发者自定义了一张超级长的纸张,导致打印时自动缩放到了一张A4纸上.需要修改使之能够合理的分页打印,这是来到新公司的第一个任务. 解决方案一: 1 ...
- Ireport 报表导出 Poi + ireport 导出pdf, word ,excel ,htm
Ireport 报表导出 Poi + ireport 导出pdf, doc ,excel ,html 格式 下面是报表导出工具类reportExportUtils 需要导出以上格式的报表 只需要调用本 ...
- 报表学习总结(一)——ASP.NET 水晶报表(Crystal Reports)的简单使用
一.水晶报表简介 Crystal Reports(水晶报表)是一款商务智能(BI)软件,主要用于设计及产生报表.水晶报表是业内最专业.功能最强的报表系统,它除了强大的报表功能外.最大的优势是实现了与绝 ...
- ssm中iReport报表使用json数据源过程体会
前言:做这个一定要有耐心,因为报表本就是数据杂糅到规整的过程,这篇心得会细讲每一步操作,如果只想着一眼到位,建议close tab 在公司中遇到项目,大概是一个这样的需求,有一个列表和一个标题,需要把 ...
- (转) C#之VS自带RDLC报表学习
原文地址:http://blog.csdn.net/hk_5788/article/details/49846905 原文工具VS2010,测试版本工具VS2013 报表是这样设计的: 看看结果: ...
- RDLC报表学习
RDLC报表由以下三部分构成: 1.制作自己的DateSet集合(就是报表的数据集): 2.制作自己的报表文件.rdlc文件,用于画做报表样式,里面有微软自带的导出和打印功能,其实就为了少做这2个功能 ...
- ireport报表,打印时,报表加载失败的解决方法
1.报表加载失败图示 2.解决方法 原创作者:DSHORE 作者主页:http://www.cnblogs.com/dshore123/ 原文出自:http://www.cnblogs.com/dsh ...
- ireport报表制作, 通过节点、产品类型来判断,当该节点审核通过之后,报表相对应的审核意见及签名 显示相对应的内容
1.代码① (与本内容相关的代码:7~36) 以下类似 $P{P_XXXX} :均为页面端的传入参数 select so.sale_order_no as sale_order_ ...
- ireport报表制作, 当一个字段显示的数据太多时(数据过长),则需要自动换行
1.当一个字段显示的数据太长,一个表格放不下,则需要自动换行,选中要更改的表格(要显示动态内容的字段),设置属性Stretch with overflow 为钩选状态. 未勾选之前: 勾选之后: 2. ...
随机推荐
- sql语句添加删除外键及其约束
--删除外键 ALTER TABLE t_base_role_module DROP CONSTRAINT fk_t_base_role_module_t_base_defined_url; --增加 ...
- MYSQL Optimizing LIMIT Queries
如果要指定查询的数据行数,在查询语句中使用limit子句,而不是获取所有数据行结果集,然后去掉没用的数据. MYSQL有时会对没有having子句,带有limit关键字的查询进行优化: 1:如果用li ...
- 1.(python)__new__与__init__
1.来比较一下__new__与__init__: (1)__new__在初始化实例前调用,__init__在初始化实例之后调用,用来初始化实例的一些属性或者做一些初始操作 # -*- coding: ...
- 改变UITableView选中行高亮的颜色
UIView *backView = [[UIView alloc] initWithFrame:self.contentView.frame]; backView.backgroundColor = ...
- mybatis-自定义typeHandler
场景一:有个java.util.Date在存入数据库的时候自动转换为timestamp时间戳,从数据库取值的时候把时间戳自动转换为java.util.Date 表结构 CREATE TABLE `us ...
- maven系列--eclipse的m2插件
工欲善其事,必先利其器.我是讨厌用CMD指令来操作maven,既然eclipse已经给我们提供了插件,那我们为什么不使用呢?而且我觉得eclipse的各种插件都挺好用的.好了废话不多说了,现在开始整理 ...
- MySql全文索引
使用索引是数据库性能优化的必备技能之一.在MySQL数据库中,有四种索引:聚集索引(主键索引).普通索引.唯一索引以及我们这里将要介绍的全文索引(FULLTEXT INDEX). 全文索引(也称全文检 ...
- 面向对象之原型——challenge
面向对象之原型 object-oriented面向对象的设计,不同于其他语言,js中的面向对象没有类的概念,因此,其对象也有些特殊. 所谓对象就是无序属性的集合,其属性可以包含基本值.对象.函数.也就 ...
- android Fragment的数据传递
Bundle传递参数 Fragment1 fragment1 = new Fragment1();Bundle bundle = new Bundle();bundle.putString(" ...
- CentOS之7与6的区别
前言 centos7与6之间最大的差别就是初始化技术的不同,7采用的初始化技术是Systemd,并行的运行方式,除了这一点之外,服务启动.开机启动文件.网络命令方面等等,都说6有所不同.让我们先来了解 ...