开源报表BIRT开发手册

上传人:ni****g 文档编号:489680697 上传时间:2023-08-11 格式:DOC 页数:42 大小:443.50KB
返回 下载 相关 举报
开源报表BIRT开发手册_第1页
第1页 / 共42页
开源报表BIRT开发手册_第2页
第2页 / 共42页
开源报表BIRT开发手册_第3页
第3页 / 共42页
开源报表BIRT开发手册_第4页
第4页 / 共42页
开源报表BIRT开发手册_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《开源报表BIRT开发手册》由会员分享,可在线阅读,更多相关《开源报表BIRT开发手册(42页珍藏版)》请在金锄头文库上搜索。

1、 Birt报表 开发手册4 Birt报表script在使用 Eclipse 工作台开发 BIRT 报表时,您可以使用 Java 或 JavaScript 编写定制事件处理程序。在使用 Eclipse ECP(Eclipse CORBA Plugin (ECP)提供一个可针对CORBA IDL文件语法进行着色的编辑器)开发 BIRT 报表时,只能编写 JavaScript 事件处理程序。无论是使用 Java 还是 JavaScript,可以编写的事件处理程序集合是相同的。可以使用 Java 来编写一些事件处理程序并使用 JavaScript 来编写另一些事件处理程序。如果同一个事件同时有 Jav

2、a 和 JavaScript 事件处理程序,则 BIRT 将使用 JavaScript 处理程序。4.1 avascript脚本编写4.1.1 隔行高亮度显示1. 在布局(Layout)中,选择TableDetail的行。如下图:2. 然后选择Script,打开脚本窗口顶部的方法列表并选择onPrepare,如图所示。var count=0;3. 最后打开脚本窗口顶部的方法列表并选择 onCreate,如图所示:count+;if (count % 2 != 0) style.setBackgroundColor(silver);4. 保存,点击Preview预览结果如下图。4.1.2 多参数

3、查询在多参数查询时,根据输入的参数不同,查询出不同的结果集,这就需要对查询sql语言进行拼凑。在birt环境下这种拼凑可以在data set的script编辑框中完成。前端包含在标签中的查询参数提交上来后,通过paramsparameterName即可引用。1. 首先,按照3.3创建数据集的步骤创建数据集。Sql2. 创建报表参数,sql需要的条件参数。如下图:3. 点击Data Set(创建的数据集),然后点击编辑区的Script出现脚本编辑器。打开脚本窗口顶部的方法列表并选择brferOpern如下图:if(!paramsname.equals() | !paramscity.equals

4、()this.queryText = this.queryText+ where ;if(paramsname!=null & !paramsname.equals()this.queryText = this.queryText+ CUSTOMER_NAME like %+paramsname+%;if(!paramscity.equals()this.queryText = this.queryText+ and city =+paramscity+;说明:this.queryText获取之前创建的没有参数的sql语句。4. 保存,点击编辑区的Preview预览。会弹出输入参数的对话框。如

5、下图:5. 点击ok,就在预览窗口看到根据条件查询结果。如下图:4.1.3 脚本创建数据源通过脚本从properties配置文件取得jdbc数据源信息。1. 在已创建的jdbc数据源的基础编写脚本。2. 选择数据资源管理器(Data Explorer)Data Source(创建的数据源),如下图:3. 点击编辑区的Script脚本编辑器,打开脚本窗口顶部的方法列表并选择brferOpern如下图:importPackage( Packages.java.io );importPackage( Packages.java.util );fin = new java.io.FileInputSt

6、ream( new String(c:/temp/report.properties) );if(fin!=null)props = new java.util.Properties( );props.load(fin);extensionProperties.odaURL = new String(props.getProperty(dbURL);extensionProperties.odaDriverClass = new String(props.getProperty(driverName);extensionProperties.odaUser = new String(props

7、.getProperty(userName);extensionProperties.odaPassword = new String(props.getProperty(password);if(fin!=null)fin.close();由于在这里的代码只支持绝对路径,在服务器部署的情况下可能不太适用,可以修改一下支持相对路径,相对于你发布的应用/WEB-INF/目录。如下:importPackage( Packages.java.io,Packages.java.util,P );importPackage( Packages.javax.servlet.http );req = rep

8、ortContext.getHttpServletRequest( );propPath = new String(paramspropFile);if ( propPath.charAt(0) != / ) propPath = /WEB-INF/ + propPath;url= req.getSession().getServletContext().getResource( propPath );props = new java.util.Properties( );props.load( url.openStream( ) );extensionProperties.odaURL =

9、new String(props.getProperty(dbURL);extensionProperties.odaDriverClass = new String(props.getProperty(driverName);extensionProperties.odaUser = new String(props.getProperty(userName);extensionProperties.odaPassword = new String(props.getProperty(password);4.2 java脚本编写由于不是简单地在 BIRT 报表设计器中直接输入 Java 代码

10、,所以与创建 JavaScript 事件处理程序相比,Java 事件处理程序的创建工作略为复杂。要创建 Java 事件处理程序类,必须编译 Java 类的源代码并确保该类对 BIRT 可视。但是,由于 Eclipse 是健壮的 Java 开发环境并支持将 Java 项目与 BIRT 项目集成,所以,为 BIRT 创建 Java 事件处理程序的过程已大为简化。4.2.1 创建java类1. 创建java工程或者报表web工程。如果创建报表web工程,可以将报表创建在web目录下,方便测试。l 选择File-NewWeb Project,在窗口Configuretions下拉菜单选择BIRT Re

11、porting Web Project。如图:l 点击Finish,完成报表工程创建。如图:2. 编写java类在工程src目录下创建类。如图:l 创建Employee类,职工信息类。package test;public class Employee private String id = ;private String name=;private String sex=;private String address =;public void setId(String id)this.id = id;public String getId()return this.id;public vo

12、id setName(String name)this.name = name;public String getName()return this.name;public void setSex(String sex)this.sex = sex;public String getSex()return this.sex;public void setAddress(String address)this.address = address;public String getAddress()return this.address;l 创建DataFactory类,数据集合类。package

13、 test;import java.util.ArrayList;import java.util.List;public class DataFactory /* * 定制数据集合,这里也可以从数据库获取 * return */public static List getData()Employee emp1 = new Employee();emp1.setId(00501);emp1.setName(张三);emp1.setSex(男);emp1.setAddress(西安);Employee emp2 = new Employee();emp2.setId(00502);emp2.se

14、tName(李四);emp2.setSex(男);emp2.setAddress(北京);Employee emp3 = new Employee();emp3.setId(00503);emp3.setName(王五);emp3.setSex(男);emp3.setAddress(深圳);List list = new ArrayList();list.add(emp1);list.add(emp2);list.add(emp3);return list;4.2.2 java类与报表交互1. 创建报表。在前面已经讲过怎么创建报表,在这里只要选择报表存放目录为工程的WebContent。如图:2. 在报表文件中新建一个脚本数据源。如下图:点击Finish,完成脚本数据源的创建。3. 创建一个数据集。1) 数据类型,如下图:2) 点击Next,为数据集定制输出列。如

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号