birt基本使用

  • 格式:docx
  • 大小:836.85 KB
  • 文档页数:25

先简单介绍一下本文中将会用到的 BIRT 示例项目和相关设置。 本文中用到的项目名称为 BirtIntroduction ,项目结构如下图:

图 1:示例项目层次结构

其中:  JavaScripts 文件夹用于存放用户自定义的 JavaScript 文件。  lib 文件夹用于存放用户建立的库( Library )文件。  pic 文件夹用于存放所有报表中会用到的图片。  template 文件夹用于存放用户建立的模板文件。  所有的报表文件都会建立在 BirtIntroduction 下面。

在开始使用这些资源之前,还需要在Eclipse里面设置资源所在的位置。具体设置方法如下:

在Eclipse中选择 Window -> Preference ,打开 Eclipse 设置窗口,选择 Report Design -> Resource 设置资源文件夹为当前项目所在位置,如下图: 图 2:设置资源位置根目录 “ D:/BIRTReport/BirtIntroduction/ ” 是这个项目的绝对路径。 相关设置做好后,就可以开始我们的正式内容了。

回页首 在报表中使用用户自定义的 JavaScript 文件 BIRT给设计者提供了强大的数据控制功能,它不仅提供了一些常用的函数,而且还允许设计者在报表中自定义 JavaScript方法,并利用这些函数对报表输出样式,数值等因素进行修改,计算。但是,在大型项目中,如果很多功能相同的 JavaScript 方法的定义分布在各个报表中,对设计者来说,修改报表中的 JavaScript 将会成为噩梦一样的事情。那么 BIRT 能不能把这些功能相同的函数集中定义在一个 JS 文件中,并在 BIRT 中得以应用呢?答案是肯定的。

由于 BIRT 并没有给使用者提供 GUI 的方式为报表添加用户自定义的 JS 文件。所以我们只能通过修改 .rptdesign 文件的源文件进行 JS 文件的添加,删除工作。请看下面的详细步骤:

首先,我们要先创建自己的 JavaScript 文件。如下图: 图 3:创建 JavaScript 文件 创建的 JavaScript 文件名为 demo_scripts.js 。接下来,在新建的 JavaScript 文件中写入自定义的方法。下面是将在本文中用到的一个简单的方法,主要目的是把传入的两个数字参数通过下划线连接在一起,并且返回。

清单 1. 自定义的 JavaScript 方法 function combine(num1, num2) { varstr = num1 + '_' + num2; return str; }

JavaScript 文件定义好了以后,就可以在报表中使用了,具体使用方法是: 打开报表定义文件,并且在主编辑区切换到” XML Source ”标签,然后在报表定义文件中加入如下语句。

清单 2. 把用户自定义的 JavaScript 文件加入到报表中 JavaScripts/demo_scripts.js

如下图: 图 4:在报表中使用 JavaScript 文件

由于在文章开始的地方已经设置好了资源根目录,所以”JavaScripts/demo_scripts.js ”这个相对路径映射的绝对路径就是“ D:/BIRTReport/BirtIntroduction/JavaScripts/demo_scripts.js ”。

到这里就可以在报表中使用 demo_scripts.js 中定义的所有方法了。使用方法请看下面的简单例子。

在报表中用鼠标双击 Number 列,打开数据编辑窗口,输入名称为 CombineNum ,如下图 图 5:打开数据编辑窗口 单击 fx 按钮,打开表达式编辑窗口,输入如下内容: 清单 3. 使用 JS 文件中的方法 combine(row["CUSTOMERNUMBER"],row["ORDERNUMBER"])

如下图 图 6:使用 JS 文件中的方法-1 选择 OK 按钮,确认输入,回到报表设计页面中。如图 7 图 7:使用 JS 文件中的方法-2

下面让我们来预览一下这个报表,如图 8: 图 8:预览报表 在图8中,我们发现 NUMBER 列中的数据是合并以后的。这说明我们的方法起到了作用。是不是很简单?

不过,这里要特别指出的一点是,BIRT还是一个发展中的工具,有些地方还不是很完善。所以用户自定义的JS文件在报表的 有些地方还不能够使用。比如,在图表( Chart )中的 Script 中,如果想在 Event Function 使用JS文件中的方法,在当前版本中(2.2.2)是不行的。据 BIRT 的开发者说,这是因为图表( Chart )的渲染引擎是一个独立的部分。当然,暇不掩玉,相信 BIRT 会很快修正这些问题的!!

回页首 BIRT 中库( Library )的创建与应用 库( Library )是一组用户自定义的报表元素的集合,比如数据源,常用的数据集,通用的报表参数定义等等。通过库的应用,设计者可以集中定义常用资源,重用功能设计。

下面将会详细介绍库在BIRT中的创建与应用: 创建库(Library) 在lib文件夹上单击鼠标右键,并在弹出菜单中选择 New -> Library , 如下图 9 所示: 图 9:创建库 在接下来的窗口中输入这个库的名字,如图10 图 10:输入库的名字

库是以 .rptlibrary 为扩展名的文件。例子中的库名为 demo_library.rptlibrary 。

打开新建的库,你会发现基本所有能在报表中定义的元素都可以在这里定义。开发者可以从项目中汲取可被重用的资源,集中定义到库中来。比如数据源定义,常用的数据集定义等等。

在下面的例子中,以一个数据源的定义说明了如何在库中添加新的项目。 和在报表中定义数据源一样,在 Data Explorer -> Data Sources 上右键单击鼠标,在弹出菜单中选择 New Data Source 。 图 11:在库中创建数据源 选择数据源类型,并且输入数据源名称,并选择下一步( Next ),本例中,数据源名称为 Demo_Data_Source 。如图 12 所示:

图 12:输入数据源的名称及类型

在下面的数据源定义窗口中输入数据源的信息 图 13:输入数据源的信息

单击确定( OK )按钮,完成数据源的创建。到此,我们就为库中创建了一个数据源。

库创建好了,如何在我们的报表中使用库中的资源呢?下面将会讲解库的使用。 在报表中使用库(Library) 首先,打开您的报表文件,在 Library Explore 中选择要用到的库,在这个例子中为 lib ->demo_library.rptlbrary 。在库上单击鼠标右键,然后选择 Use Library 选项。如图14所示 图 14:使用库 继续打开您的报表设计页面,并选中 Outline 视图,把定义在库中的报表元素用鼠标从 Library Explore 视图中拖到 Outline 中相应的位置。本例中为把数据源 Demo_Data_Source 添加到 DemoReport.rptdesign 中去,如图 15 所示: 图 15:使用库中定义的元素 这时,当创建数据集时,您会发现已经可以用到这个数据源了,如图 16 所示: 图 16:使用库中的数据源创建数据集

在进行报表设计的时候,当您库中的数据源或其他库中信息更新后,您需要刷新一下您的报表,从而使更新后的库中的元素起到作 用。方法是,打开您的报表,在 Outline -> 您的报表上单击鼠标右键,然后选择 Refresh Library 选项来更新报表,如图 17 所示:

图 17:更新库中的信息 如果您的项目规模很大,库的使用好坏与否,将在很大程度上决定项目后期维护上的难度。想象一下,您的项目中有上百个报表, 但并没有用到库,如果您的报表的数据源发生了改变,那么上百个报表,每个报表的数据源都要重新修改一下,这将是一件很麻烦的事情。所以,在报表设计之前, 先将常用资源定义在库中会是一个很好的开发习惯。

回页首 使用模板( Template )定制统一的报表风格 一个团队中,每个人的审美观都是不完全一致的,如果没有一个集中的控制,不同的队员设计出不同风格的报表会使得一个项目变 得像很多项目的集合。在一个项目中,维护报表风格的统一至关重要。BIRT为开发者提供了模板的概念,通过使用相同的模板,可以保证团队中不同设计者设计 出来的报表风格统一。

BIRT 的模板中定义了报表的版面设置,字体大小,配色方案等一系列设置, 下面将详细讲解BIRT 模板的创建与使用方法。

创建模板(Template ) 在 Eclipse 中选择 File -> New –> Template ,如图 18 所示: