报表属性

本菜单项的功能是用于设置报表的全局属性。

点击 报表à报表属性,或者选中报表首格,右键菜单à报表属性,或者使用快捷键 Ctrl+B,打开“报表属性”编辑界面,可切换到常规打印分页导出背景图子报表标签页,设置相关的报表属性。“报表属性”编辑界面如下图所示:

常规属性:

在报表属性编辑界面中切换到“常规”标签页,设置报表的基本属性。如下图所示:

报表类型

报表类型有普通报表和参数模板两种。

普通报表:把报表中的单元格作为存储和计算的基本单位,比如有一个33列的普通报表,那么在内存里把3*3=9个单元格作为9个对象存储和计算。

参数模板:作为参数模板使用,以接受用户输入参数为目的的报表。

大数据集名称

当需要对大批量数据进行计算时可将数据集设置为大数据集名称,大数据集名称只能是SQL数据集、脚本数据集或者集算器数据集。

注:大报表目前只支持导出到Excel2007

报表单位

报表单位用于设置报表中数值型属性的单位,包括:毫米、像素、英寸,三种。

使用毫米/英寸时,报表的列宽/行高实际是对应到像素为单位画的,由于毫米/英寸转像素时都会将结果取整,列数多时误差则会比较大,此时建议勾选高精度复选框,使用高精度的计算方式,不再取整,按照实际像素绘制宽度,避免误差。

报表设计器中的数值型属性,我们在设置时只填入了数字没有指定单位,则默认是使用这里设置的报表单位。比如:报表中行/列属性的高度/宽度、统计图中的上///右边距。

报表属性中与打印纸张大小有关的属性已明确指定了单位mm(毫米),此时则不会使用报表单位里设置的单位了。

 

图像最大尺寸

图像最大尺寸用于限定报表中所存在的图片文件的大小。当报表中的图片大于所设定的大小时,系统会自动调用安装目录下的\report\logo\outsize.gif或应用下的\raqsoft\images\outsize.gif文件进行显示,替换原有的大图片。用户也可以通过替换outsize.gif来自定义图片大小超出限定时的替换图片。

显示比例

显示比例可调整设计报表和预览报表时的显示比例,但报表本身的大小不变,只是为了方便用户查看。系统提供了200%133%100%75%50%的显示比例选择项,用户也可以通过自定义选项框,自己设置显示比例。

例如:有一张报表用100%的显示比例需要借助于滚动条才能看到全部的报表内容,但用75%的显示比例不用滚动条就可看到全部的报表内容。如下图所示:

 

报表格数

报表格数为预算单元格数,用于报表引擎对内存中报表的并发控制。报表中的配置文件可配置在内存中允许使用的最大格子数maxCellNum及预算单元格数defaultCellNum。报表引擎在对报表进行运算前,先读取要计算报表的"报表格数"属性,解析报表格数中的表达式,计算出报表的预算单元格数;如果报表格数未设定,则将defaultCellNum作为预算单元格数。并发计算中报表的总格子数加上当前报表的预算单元格数,如果计算和超过了maxCellNum,那么报表引擎就延迟计算此报表,否则就计算报表。并发计算中,单元格数会随之增加,计算结束后,会随之减少。

例如有一个员工基本信息报表,如下图所示:

它有6列,扩展出来的行数为ds1.count()。我可以在报表属性中设置它的报表格数为:(ds1.count()+1)*6,如下图所示:

员工基本信息报表计算后会占用 (ds1.count()+1)*6个单元格。报表引擎对员工基本信息报表计算前,先获取此报表的“报表格数”属性,然后用内存中并发执行的报表总格子数加上员工基本信息报表的“报表格数”,计算结果与配置文件中设置的内存最大格子数比较,如果大于最大格子数则延迟员工基本信息报表的计算,否则就立即计算。

“报表格数”可以是整数值也可以是表达式,不需要等号开头。

 

报表样式

报表属性中设置报表样式后,该样式会自动列入到右侧属性中的单元格样式名列表中。报表样式的配置在安装目录\report\tmp下的reportStyleConfig.xml文件中。

刷新

刷新报表样式的下拉列表。

提示信息

用途待定。

注释

制作报表的人可在此对该报表做些说明和注释,以方便其他人,或日后自己查看。

举例:

某张报表是员工信息查询的报表,可以在注释编辑框里输入“预览时在参数值里输入要查询员工的编号,即可查询出该员工的详细信息”,这样初次打开这张报表时,查看注释信息后就明白该报表的意图了。

打印属性:

在报表属性编辑界面中切换到“打印”标签页,设置报表的打印信息。如下图所示:

类型

纸张类型指报表打印或导出时的缺省纸张大小。此属性只在分页方式为“按纸张大小分页”时才起作用。除了标准纸张大小外,还提供了自定义纸张大小的方式,可在自定义纸张高,自定义纸张宽属性里自定义。

尺寸单位:

纸张规格

宽度(毫米)

高度(毫米)

A0

841

1189

A1

594

841

A2

420

594

A3

297

420

A4

210

297

A5

148

210

B0

1000

1414

B1

707

1000

B2

500

707

B3

353

500

B4

250

353

B5

176

250

尺寸换算公式:(1 毫米×72/25.4=1 像素

72像素=1 英寸

方向

报表打印或导出时的缺省纸张方向。分为纵向和横向。默认为纵向,当报表是短宽型的,可以将纸张方向设置为横向。

自定义纸张高

当纸张类型为自定义时,系统读取自定义纸张高属性作为打印时的纸张高度。

宽度

当纸张类型为自定义时,系统读取自定义纸张宽属性作为打印时的纸张宽度。

页边距

上边:报表打印或导出时的缺省上边距。

下边:报表打印或导出时的缺省下边距。

左边:报表打印或导出时的缺省左边距。

右边:报表打印或导出时的缺省右边距。

打印缩放

缩放模式:设置报表打印时的缩放模式,系统提供了与纸张等高/不缩放/与纸张等宽三种缩放模式。

与纸张等高:指将报表按纸张高缩放。

不缩放:指将报表原样展现。

与纸张等宽:指将报表按纸张宽度缩放。

打印缩放适用于导出word

布局行数/布局列数

布局行数:如果报表是按照行数分页的,那么一张打印纸上可能打印多页报表,该参数设定一张打印纸上纵向可以打印几排报表。

布局列数:如果报表是按照行数分页的,那么一张打印纸上可能打印多页报表,该参数设定一张打印纸上横向可以打印几排报表。

对于卡片式报表,可以在一张打印纸上布局多页报表,这样打印出来的报表不但美观,而且可以任意切割。

举例:

把“纸张”组框中的【方向】设为:“横向”,将其他组框中的【布局行数】设为:3,【布局列数】设为:2,如图:

切换到“分页”标签页,在【分页方式】下拉框中选择“按行分页”,将【每页行数】设为:6其打印预览效果如下图所示:

 

打印次序

如果报表是按行数分页的,那么一张打印纸上可能打印多页报表,打印次序用于设定多页报表在打印纸上先横向排还是先纵向排。

水平对齐

水平对齐用于设置打印时报表在纸张上的水平对齐方式,有居中、靠左和靠右三种选择。

垂直对齐

垂直对齐用于设置打印时报表在纸张上的垂直对齐方式,有居中、靠上和靠下三种选择。

打印背景图

当报表中插入背景图后,预览时可以看到背景图,但不一定希望打印出来。通过该属性可以设置背景图是否打印。

全屏预览

用于设置打印时,打印窗口是否全屏。

虚拟打印机

虚拟打印机是为报表导出为Text文件后进行打印服务的。当报表导出为Text文件后,如果要打印这个Text文件就涉及到字符终端的打印,这种打印没有图形化的界面让用户来配置打印机,只能用命令来配置。如果每次打印都要求用户用命令来设置打印参数,就会给用户的打印操作带来极大的不方便,为此我们提出了虚拟打印机的概念。用户在报表属性中选择了一个虚拟打印机,那么此虚拟打印机的配置信息就保存到了报表头中,当报表导出为Text文件时,此虚拟打印机的配置也导出到Text文件中,以后打印此Text文件时直接用打印命令打印即可,不用再设置打印机的配置参数了,极大的方便了用户对Text文件的打印。

要使用虚拟打印机,首先需要编辑一个文本文件,文件名为printer.ini。文件内容结构如下图所示:

上图printer.ini文件中[LQ1600][LQ1601][LQ1602][LQ1603]指的是打印机的型号,FF=12SelectCharSet-27 82 ? 指的是打印机的配置参数。可以同时编辑多个节点,即编辑多个虚拟打印机的配置。然后把编辑好的printer.ini文件放在报表设计器的安装目录àclasses文件夹下。如下图所示:

重新启动报表设计器,让printer.ini文件生效。点击 报表à报表属性,切换到打印标签页,这时虚拟打印机下拉框中就列出了你在printer.ini文件中配置的打印机型号,如下图所示:

用户选择了虚拟打印机的型号后,此虚拟打印机的型号及相关的配置信息就保存到了当前报表头中,当报表导出为Text文件后,打印配置信息就保存到了Text文件中,要对Text文件打印,直接用打印命令即可,不需要选择打印机型号及配置打印机参数了。

刷新

刷新虚拟打印机下拉列表。

分页属性:

在报表属性编辑界面中切换到“分页”标签页,设置报表的分页打印信息。如下图所示:

纵向分页时打印方式

纵向分页时打印方式用于设置报表纵向分页时页眉页脚和标题的打印情况。

页眉页脚和标题都可以选择“每页都打印”和“仅首页打印”两种情况。

1、每页都打印

有时不同的人可能查看同一个报表的不同页,同一个报表的不同页不一起存放,为了使每一个用户查看报表时都能了解报表的页眉页脚和标题信息,我们就需要在每页上都打印页眉页脚和标题,这时只需在“纵向分页时打印方式”组框中的【页眉页脚】下拉框中选择“每页都打印”,在【标题】下拉框中选择“每页都打印”就可实现。

预览后打印我们发现,第一页显示了页眉页脚和标题,第二页也显示了页眉页脚和标题,其打印预览效果如下图所示:

 

2、仅首页打印

有时我们把打印出来的报表页装订在一起存放,所以只想在第一页打印页眉页脚和标题,其他页就不打印了,这时只需在“纵向分页时打印方式”组框中的【页眉页脚】下拉框中选择“仅首页打印”,在【标题】下拉框中选择“仅首页打印”就可实现。

预览后打印我们发现,第一页显示了页眉页脚和标题,而第二页页眉页脚和标题就被隐藏了,其打印预览效果如下图所示:

 

横向分页时打印方式

有时候一条记录包含的字段很多,一页纸的宽度装不下一条记录,我们一般设置为横向分页。横向分页时的打印方式是用来设置报表横向分页时页眉页脚和标题的打印情况。

横向分页时页眉页脚和标题都可以选择“每页都打印”、“仅首页打印”、“每页打印切分部分”和“仅首页打印切分部分”四种情况。

 

1、每页都打印

有时候横向分页时打印出来的多页报表分开存放,用户只查看自己感兴趣的那些页,这时为了让每一个用户都查看到页眉页脚和标题信息,就需要在每一页报表中都打印上页眉页脚和标题。在横向分页时打印方式组框中的【页眉页脚】下拉框中选择“每页都打印”, 【标题】下拉框中选择“每页都打印”,即可实现在每一页报表中都打印页眉页脚和标题。其打印预览效果如下图所示:

 

2、仅首页打印

有时用户要求横向分页时仅首页打印页眉页脚和标题,其他页就不打印了。在横向分页时打印方式组框中的【页眉页脚】下拉框中选择“仅首页打印”, 【标题】下拉框中选择“仅首页打印”,即可实现仅在首页报表中打印页眉页脚和标题。其打印预览效果如下图所示:

 

3、每页打印切分部分

有时用户要求横向分页时每页打印切分部分,然后把打印出来的每一页横向粘贴起来,形成一个完整的报表,这时就需要使用横向分页的“每页打印切分部分”。在横向分页时打印方式组框中的【页眉页脚】下拉框中选择“每页打印切分部分”, 【标题】下拉框中选择“每页打印切分部分”,其打印预览效果如下图所示:

 

 

4、仅首页打印切分部分

有时用户要求横向分页时仅首页打印切分部分,其他页不打印,这时就需要使用横向分页的“仅首页打印切分部分”。在横向分页时打印方式组框中的【页眉页脚】下拉框中选择“仅首页打印切分部分”, 【标题】下拉框中选择“仅首页打印切分部分”,其打印预览效果如下图所示:

 

 

表头表尾打印方式

表头表尾打印方式用于设置报表打印时表头表尾的打印情况。

表头表尾的打印方式分为行和列两类,行可以设置报表头和报表尾的打印,它分为仅首页打印和每页都打印两种。列可以设置左表头的打印,它也分为仅首页打印和每页都打印两种。

 

1、仅首页打印

有的用户要求仅在第一页显示表头表尾,其他的页就不显示了,比如报表的宽度大于打印纸的宽度,我仅在第一页打印表头表尾,其他页不打印,报表打印完成后我把两页横向粘在一起共享第一页的表头表尾。如果在行上设置为仅首页打印,则报表头/报表尾区域仅首页打印;如果是在列上设置仅首页打印,则左表头仅在首页打印。

将【表头表尾打印方式】中的【行】设为“仅首页打印”,【列】设为“仅首页打印”。其打印预览效果如下图所示:

 

2、每页都打印

有的用户为了方便在每一页都能看到表头表尾信息,他们要求每页都显示表头表尾。将【表头表尾打印方式】中的【行】设为“每页都打印”,【列】设为“每页都打印”。其打印预览效果如下图所示:

 

分页方式

报表的分页方式有按纸分页、按行分页、不分页三种。

1、  按纸张分页

按纸张分页指按设定的打印纸类型自动进行分页,超出纸张的部分会在下一页打印,这种分页方式适用于用户对一页纸上打印几条记录没有要求。其打印预览效果如下图所示:

 

2、按行分页

有时用户要求在一张纸上固定打印指定行数的记录,我们可以使用按行数分页来实现。按行分页是指按设定的每页显示的数据行数自动进行分页,超出设定的行数的数据在下一页打印。我们将【分页】中的【分页方式】设为“按行分页”,在【每页行数】编辑框中输入15,则每页打印15行的按行数分页效果如下所示:

按行分页,可以指定固定行数,也可以动态指定,都可以在【每页行数】中设置。

注意:如果报表选择了按行分页,则该报表不允许进行缩放打印

 

3、不分页

有时为了便于查看所有的报表信息,用户要求把报表中的所有信息打印在一页纸上,我们可以使用不分页来达到这个目的。套打的时候,将需要套打的票据扫描成图片,插入到报表设计的界面上,然后依照底图进行报表描绘,打印时报表信息连同底图一起打印,这时为了保证打印出来的报表不错位也要使用不分页。我们将【分页】中的【分页方式】设为“不分页”。 其打印预览效果如下图所示:

 

页眉页脚边框

页眉页脚边框有默认、采用设计时边框两种。

页脚最上方的单元格上边框如果未设置线型,则会根据页眉页脚边框的取值决定是否采用与页脚上方单元格相邻的单元格的下边框线型。

每页行数

如果“分页方式”是按行分页则可以在此设定每页显示数据的行数。该行数为数据区行数。

【每页行数】可以固定指定行数,也可通过参数实现动态分页,点击【每页行数】后的,将会弹出表达式编辑框,在此可设置参数表达式实现动态分页,如下图所示:

其打印预览效果如下图所示:

 

分栏数

分栏数用于设置报表打印或导出时的缺省纵向分栏数。我们常常会遇到一些列数很少行数很多的报表,这种报表窄窄长长,打印在一张A4纸上,横向留出大片空白,不但浪费纸张而且不美观,不方便用户查阅。分栏可以在打印纸上横向布局多列报表,这样既美观又节约纸张,还方便浏览报表。分栏后,表头会在每栏中重复,但是报表的标题可以只出现一次。

将【分页】中的【分栏数】设为:3,其打印预览效果如下图所示:

 

分栏时重复组头

分栏时重复组头用于设置在分栏时对分组表头的重复显示的控制。

分页监听器类

本菜单可设置分页监听器类,该类需实现com.raqsoft.report.usermodel.IPagerListener 接口,有关接口中的方法介绍可参见程序员参考自定义分页监听器类小节。

导出属性:

在报表属性编辑界面中切换到“导出”标签页,设置报表是否导出背景图片、导出为PDF文件、Excel文件和Word文件时,该文件的密码和权限。如下图所示:

不导出背景图片

设置报表导出时是否导出背景图片。

导出文件名

设置报表文件导出时默认的文件名称。属性值可设置为常数或表达式。

当设置为空值时,默认名称为报表的文件名。该属性仅在web端导出时有效。

注:使用表达式时,不支持引用单元格,可引用参数或宏。

不导出如下URL

设置报表单元格的超链接在导出时哪些URL不导出,可通过增加按钮增加不导出的URL,通过删除按钮删除选中的已经添加的URL

PDF

设置报表导出为PDF文件时,该文件的密码和权限。

用户密码:查看导出的PDF文件时用户需要输入的密码,此类用户只能浏览PDF文件。

主密码:编辑导出的PDF文件时用户需要输入的密码。

文档权限:可以给导出的PDF文件设置权限,在相应权限前打上对勾就可以了。

性能优先:导出或flash打印用性能优先时,使用连续串导出,不逐字导出,导出速度加快,存储文件变小,但是由于PDFjava的文字细微差异,会有个别差异;如不勾选性能优先则输出到PDF或者svg是逐字逐坐标输出,速度慢,但坐标跟界面完全一致。

Excel

文档密码:设置打开该Excel文档时需要输入的密码。

不导出隐藏行/不导出隐藏列:设置隐藏的行或列是否导出。

单页Excel是否设定分页符:在单页导出的Excel中,是否按照和报表相同的分页位置设定Excel中的分页符,使Excel中有相类似的分页效果。

隐藏Excel网格线:设置导出的Excel文件是否隐藏网格线。

不导出批注:设置是否导出批注(在属性列表WEB的提示中增加批注)。

Word

文档密码:设置打开该Word文档时需要输入的密码。

 

其他属性:

在报表属性编辑界面中切换到“其他”标签页,设置报表的报表侦听器类和有效性验证脚本。如下图所示:

报表侦听器类

本菜单可设置报表侦听器类,该类必须继承com.raqsoft.report.usermodel.IReportListener,并实现beforeCalc ()afterCalc ()方法,报表计算前后的处理代码分别写在这两个方法中。有关接口中的方法介绍可参见程序员参考报表计算处理类小节。

归并法求交集时最小记录数

用于设置采用归并法求交集时数据集必须达到的最小记录数,可用于交叉报表扩展时提速。<0表示不会采用归并法求交集。

例如: 有一个交叉报表,数据集中有240万行数据。如果设置归并法求交集时最小记录数为250w。那这个例子就不能使用归并法;如果设置归并法求交集时最小记录数为230w就可以使用归并法。提速效果非常明显。

有效性验证脚本

用于给参数模板增加校验功能。参数模板定义了一个系统js函数:getParamValue(paramName),该函数用于取得参数模板中某个参数的值,paramName是参数名。

在参数模板的报表属性中填写一段用于校验的js程序,当提交参数时会调用这段程序。如果输入的参数全都满足要求,则返回true; 某个参数不满足要求时,弹出信息,并返回false

如下图:假如参数模板中有两个参数startDateendDate,分别代表开始日期和结束日期,现在要求开始日期不能大于结束日期,写法如下:

背景图属性:

在报表属性编辑界面中切换到“背景图”标签页,设置报表的背景图信息,背景图可以是图片也可以是水印。如下图所示:

显示方式

设置背景图的显示方式:每页显示和不显示。

空白

清除背景图对象。

图片

设置图片的样式、来源和URL

样式:有左上、填充和平铺三种。

1.缺省样式为左上,此时背景图从报表左上角开始以图片原来的大小展现,不足的地方显示空白,多余的地方自动裁剪。效果如下图:

2.选择填充时,背景图缩放调整到报表大小。效果如下图

3.选择平铺时,背景图以图片原来的大小展现,自动拼接铺满报表。效果如下图

来源:选择背景图的配置类型,URL还是表达式

例如:URL类型

 

水印

设置报表中水印的样式、来源、文本、字体、字号、颜色和间距。

样式:设置水印的样式,有水平和倾斜两种。

来源:设置水印的来源,有文本和表达式两种。

字体:设置水印的字体格式。

字号:设置水印的字号。

颜色:设置水印颜色。

间距:设置水印间距。

例如:文本类型

效果如下图:

子报表属性:

在报表属性编辑界面中切换到“子报表”标签页,定义在报表中插入的子报表。如下图所示:

点击【增加】按钮,在子报表列表框中自动添加一个子报表。

点击【删除】按钮,在子报表列表框中删除选中的子报表。

 

名称

定义子报表的名字,我们在用到子报表的地方就用这个名称来表示子报表。

 

URL类型

设置子报表的路径类型,有相对路径、绝对路径和url三种。

 

1、  相对路径

相对路径在设计器中,是相对于【工具】à【选项】à【文件】中的【应用资源路径】;web 发布时,是相对于raqsoftConfig.xml Report里配置的home属性中的报表文件路径。

使用相对路径时,路径前不需要加斜杠“/”;绝对路径前需要带盘符或者斜杠“/”,带斜杠“/”方式的绝对路径,表示拼接上当前盘的根目录,例如该程序的根目录为D盘,那么/ reportFiles即表示D:/ reportFiles

应用资源路径,如下图所示:

 

2绝对路径

绝对路径是指你的子报表在硬盘上真正的路径。在“URL类型”列中选择“绝对路径”,双击“URL”编辑框,弹出“打开”对话框,如下图所示:

选择子报表所在的位置,点击【打开】按钮子报表的绝对路径就会自动的填入“URL”编辑框中。

3URL

当以流文件的形式返回子报表时就会用URL来表示子报表。比如你的子报表是发布在某一服务器上的,你就会用以http开头的子报表的URL路径来定位子报表。