(6)脚本是一个java类,它的方法执行在报表生成期间,通过触发一个特殊的事件,在scriptlet选项卡,可以指定一个外部的脚本(java类)或激活iReport的内部脚本支持。
如果不想使用脚本,那就设置下拉菜单的值为:Don’t use scriptlet class…或者在输入区域填写你所要使用的类的名字。 (7)在‖more..‖选项卡可以对打印进行设置。
Title on a new page选项:
Title指定为一个新页的选项,打印在每页的开始,在title之后页面将发生大的变化。图4.12和4.13展示报表的结果,图4.11显示报表。
图4.11
Title被打印总是一样的,而且在每页的顶部。 图4.12显示使用缺省设置打印的结果:
图4.12
图4.13显示打印的结果如果“title on a new page ―选项设置为true。像你看到那样,没有一行其他的band被打印在title页,甚至没有page header或page footer。然而这页仍然计算这页的总数。
图4.13
Summary on a new page选项:
这个选项完全和先前的选项一样,只是summary band被打印在最后一页。现在,如果你选择了这项,那新页将包含summary band。
Floating column footer 选项:
这个选项允许你加强column footer band的打印,直接在最后detail band(或group footer)后显示而不不在column后显示。当你想用报表元素创建表格时使用这个选项。 (详细请看JasperReports tables.jrxml)
打印顺序:
Print order用来决定如何组织打印多列数据。缺省的print order一是vertical,它是垂直的打印记录直到页末开始打印新的一列。
Horizontal print order prints 以横向打印记录当一行占据页宽后开始打印另一行。图4.14和4.15:
图4.14 图4.15
这两个图清晰的显示这个两个选项的概念。如你看到的,每个名字按字母的顺序打印。图4.14显示了纵向的打印(第一列打印完接着打印第二列),图4.15显示了横向的打印(打印完所有的行显示出整个列)
无数据打印(如果没有数据时):
当提供一个空的数据打印时(或者sql查询没有返回记录) 一个空文件被创建(或返回是一个零字节长度的流)。这个缺省的行为能被修改通过指定其他的,在没有数据时。(指when no data)。表4.2概述了可能的值和意义。 Option Description NoPages 缺省值,最后的结果为空。 BlankPage 返回一个空白页。 AllSectionsNoDetails 返回整个页的组成,出了detail band 表4.2
i18n:
il8n选项卡用来设置片段的参数。
Resource Bundle Base name
Resource Bundle base name 是一个参数名,当你想使报表国际化时。Resource Bundle 包含用在报表中的标签,句子,表达式翻译文本以指定的语言。这个语言符合一个特殊的文件。base name 表示文件名,能帮助你找到这个文件用正确翻译。为了用精确的语言来重建文件名,一些language/country首位字母大写(e.g._it_IT, for Italian-Italy)和.properties扩展名作为前缀。
XML源文件的编码设置:
保存源文件的缺省编码格式是UTF-8. 然而,如果你想用一些你需要的XML编码格式,你就需要指定正确的charset(UTF-8)。其他常用的可以选择编码格式列表(―ISO-8859-1‖ 广泛应用于欧洲).
变量的涵义
变量:
$V{PAGE_NUMBER}代表当前页数(可以是页码也可以是页数,通过TextField的计算时间的不同值来设置)
$V{PAGE_COUNT} 当前页面中记录的数目
$V{groupname_COUNT}代表当前组的记录数 eg:如果组是根据$F{the_city}分组,组名是CityGroup的话,那么此变量为$V{CityGroup_COUNT} $V{COLUMN_NUMBER} 列号码
$V{COLUMN_COUNT} 当前列中记录的数目(是当前页里行的序号,在新页上会重置为1) $V{REPORT_COUNT} 当前文档中数据源记录数目
当需要设置起始页码时,如页码第1页需从5开始打印,则 1、 打印报表时设置起始页码为4
2、 在设计的报表中添加一个parameters,对应设置为后台传递页码字段―PageNoInit‖,且类型为integer 3、 报表中添加的字段值设置为new
java.lang.Integer($P{PageNoInit}.intValue()+$V{PAGE_NUMBER}.intValue())