热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

制作自己的第一个报表

本文以一个实例讲解如何制作一个报表,通过本节能了解到制作一个报表的步骤、制作报表中常用的组件有那些、常用组件的常用属性、如何连接数据源以及加深理解对上一节将的带区的等

本文以一个实例讲解如何制作一个报表,通过本节能了解到制作一个报表的步骤、制作报表中常用的组件有那些、常用组件的常用属性、如何连接数据源以及加深理解对上一节将的带区的等内容。

       以下是本节讲的报表的最终效果:


  1. 常用组件介绍:

制作一个报表一般四个组件比较常用,下面分别介绍

Rectangle:用于画表格的样式,整个表格的样式使用次组件做出来的,本控件表现为一个黑色矩形框,多个黑色矩形框排在一起可以组合出来任何想要的报表样式。

Static Text:静态文本框,报表上显示的静态文本,都是由他完成的,主要用于显示报表标题、表头的静态文本。

Text Field:报表最主要最常用的控件,主要用于呈现数据库里面字段的值。

Subreport:子报表,在制作一些稍微复杂的报表中会用到,后面专门讲解。


  1. 根据报表用Rectangle控件拼出表结构

       分析此报表主要包括标题、表头和数据部分,单位、月底押犯人数所在的行是表头部分,标题和表头可以都放在Page Header带区里面;下面是数据部分,数据部分显示的行是由数据库里面的记录条数决定的,只需要在detail带区里面设计一个行模板就可以。

       设计完后的效果如下图所示:


  1. 使用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)

设计完后的效果如下图所示:


  1. 使用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),直接选择宋体将没有效果。

由于时间问题只是简单写写,如问题请联系本站站长


推荐阅读
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • 如何在php文件中添加图片?
    本文详细解答了如何在php文件中添加图片的问题,包括插入图片的代码、使用PHPword在载入模板中插入图片的方法,以及使用gd库生成不同类型的图像文件的示例。同时还介绍了如何生成一个正方形文件的步骤。希望对大家有所帮助。 ... [详细]
author-avatar
佩人永雪3
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有