如果该字段中有中文内容,打开Font 项,按照第3.4 小节中修改字体选项中的那三项进行修改。
3.5.5 编译与预览带有字段的报表
编译报表的方法可以选择“build”菜单中的compile 选项,也可以直接点击工具栏中的容:
图标,如果编译过程正确完成,iReport 设计器的下面会显示如下内
带有字段的报表进行预览有两种方式,一种是不使用数据库中的数据,默认所有字段值为null 的方式,预览方法为选择“build”菜单中的“execute report”,第二种方式为使用数据库中的数据的方式,预览方法为选择“build”菜单中的“execute report (use active conn)”,也可以直接点击工具栏中的图标。
下图为选择输出格式为PDF,在adobe acrobat reader 中的显示结果的情况:
3.6 一劳永益的解决中文字体问题
前面介始的中文字体解决办法,对于每一个字段的字体都要进行三次修改,很是烦人,我们可以通过自己定义一种新的字体来稍稍缓解这些麻烦,定义过程如下:
打开“View”菜单,选择“Report fonts”,点击“new”新增加一个自定义字体名称,字体名称可以为中文,修改Font name 中的内容为中文字体类型,如“宋体”,修改字体大小,修改PDF font name 为“STSong-Light”,修改PDF Encoding 中的内容为“UniGB-UCS2-H”,如下图所示:
点击“OK”保存该自定义字体。
当再次修改某个字段的字体时,我们可以直接选择使用该字体,而不必再同时修改三个选择了,直接选择该自定义字体后,如下图所示,其他三个选项中的内容将会自动改变。
3.7 JasperReport 中各band 的功能
Title Band:title 段只在整个报表的第一页的最上面部分显示,除了第一页以外,不管报表中共有多少个页面也不会再出现Title band 中的内容。
pageHeader Band:顾名思义,pageHeader 段中的内容将会在整个报表中的每一个页面中都会出现,显示位置在页面的上部,如果是报表的第一页,pageHeader 中的内容将显示在Title Band 下面,除了第一页以外的其他所有页面中pageHeader 中的内容将在显示在页面的最上端。
pageFooter Band:显示在所在页面的最下端。
Detail Band: 报表内容段,在这个Band 中设计报表中需要重复出现的内容,Detail 段中的内容每页都会出现。
columnHeader Band:针对Detail Band 的表头段,一般情况下在这个段中画报表的表头。
columnFooter Band:针对Detail Band 的表尾段。
Summary Band:表格的合计段,出现在整个报表的最后一页中的Detail band 的后面,一般用来统计报表中某一个或某几个字段的合计值。
为了给大家一个直观的印象,我这样设计了一个测试用的报表,报表中的数据是从Sql Server的pubs 数据库的titles 表中取出的,这些数据只是用来做测试的,不代表任何意义。
设计状态的报表:
在不使用数据库数据的情况下,报表结果如下图所示:
由上面的两张图我们可以发现,除了summary 段中的内容出现在了detail 段的后面,其他几个band 的位置与设计状态的位置是一样的,但是多页的话就可以看出不同了,下面是多页时的情况,注意title band 中的内容只在第一页出现过,summary band 中的内容只在最后一页出现过:
多页时的第一页中的内容:
(上图是第一页的页面上半部分内容)