iReport模板(Template)(补足六个汉字).doc
文本预览下载声明
iReport模板(Template)
HYPERLINK \t _blank CubeBI.com 立方开源商业智能
在iReport 中最有用的工具之一是使用向导利用templates来创建报表,在本章里我们将解释如何创建一个自定义的templates,如何把它们添加到我们的模版库里。
13.1 模板结构 (Template structure)
一个模版文件就是一个普通的jrxml文件。当使用向导创建一个新报表时选择的模版文件将会被加载同时会对用户输入地方做相应修改。
有两种类型的模版:columnar 和tabular。columnar是一种用一个静态的text显示field name同时用一个textfields显示field的值的竖排的记录报表(如图13.1)。
图13.1 Columnar template
而Tabular类型将会像下图这样显示所有记录(图13.2)
图13.2 tabular type
模版是一些放在iReport安装目录下templates目录里的jrxml文件。iReport根据文件的名称来决定它是columnar类型还是tabular类型的模版。如果文件名以T结尾,那么它将作为一个tabular类型的模版。如果它是以C结尾的话它将会被做为columnar类型模版。下面是iReport提供的模版列表:
File
Report type
classiC.xml
Columnar report
classicT.xml
Tabular report
Classic_landscapeT.xml
Tabular report
graycC.xml
Columnar report
grayT.xml
Tabular report
Gray_landscapeT.xml
Tabular report
表13.1 iReport提供的报表模版
我们打开classicC.xml文件,查看之后我们可以明白一个模版的结构。在这个文件里你可以发现四个组:group1,group2,group3,group4,title band和group footer可见,columns band不可见(因为对于columnar 类型的报表columns band没有用)。在detail band里有一些为将来每一个field准备的静态的text label作为模版的label(如图13.1),textfield是一个真正的field。在particular里每一个group可以通过n包含一个图形元素和一些静态text元素:
GnLabel
这里的n代表group的编号,textfield元素包含下面指定的表达式:
GnField
这个元素将包含使用group表达式的值。
图13.3 Columnar template
Detail部分至少要包含像下面一样的一个静态文本:
DetailLabel
同时一个textfield元素用下面的表达式:
DetailField
其它的bands可以包含任何元素。在这些bands中将会在使用模版时生成。
表格类型的报表模版的设计和上面很相似,图13.4是classicT.xml在窗口里显示时的情形。
同样,有四个group,在它们之前有一个column header,它需插入一个静态的字符串作为columns labels。
在detail band区域,仅仅只有一个DetailField元素将被作为所有列的一个列名标签。
图13.4
模版是不能编译的,这是因为在textfield里包含的表达式不是一个合法的java表达式。
13.2 使用自定义模板 (Using a custom template)
下面我们就来看一下怎么创建和使用一个模版。最简单的方法是打开一个已经存在的模版,选择一个最接近我们想要的模版的类型,然后按我们想要的对其进行修改,对存在的元素进行修改添加新的元素或者删除不需要的元素
图13.5
为了使用模版,我们必须把改好的模版入到templates目录里。记住使用.xml作为扩展名,在图13.5的例子中我们命名为mytemplateT.xml。添加C或T字母到模版的扩展名之前表示模版的类别。
以上工作完成后,我们可以通过向导来创建一个新的报表。在模版选择处我们可以看到新的我们刚才添加的报表模版在模版列表当中(图13.6)。
图13.6
这里,你应该可以看到我们自定义的模版没有预览图可用,要想让我们自定义的模版关联到一个预览图可以在templates文件夹里放上一个150x150的gif图片(在这个例子当中我们用的图片名叫: mytemplateT.gif).
图13.7
图13.7中显示了在向导窗口中当我们选择我们自定义的模版时出现的预览图。
使用模版可以帮助
显示全部