开源报表开发手册.docVIP

  • 67
  • 0
  • 约 42页
  • 2016-12-31 发布于北京
  • 举报
开源报表开发手册

Birt报表script 在使用 Eclipse 工作台开发 BIRT 报表时,您可以使用 Java 或 JavaScript 编写定制事件处理程序。在使用 Eclipse ECP(Eclipse CORBA Plugin (ECP)提供一个可针对CORBA IDL文件语法进行着色的编辑器)开发 BIRT 报表时,只能编写 JavaScript 事件处理程序。无论是使用 Java 还是 JavaScript,可以编写的事件处理程序集合是相同的。 可以使用 Java 来编写一些事件处理程序并使用 JavaScript 来编写另一些事件处理程序。如果同一个事件同时有 Java 和 JavaScript 事件处理程序,则 BIRT 将使用 JavaScript 处理程序。 avascript脚本编写 隔行高亮度显示 在布局(Layout)中,选择Table-Detail的行。如下图: 然后选择Script,打开脚本窗口顶部的方法列表并选择onPrepare,如图所示。 var count=0; 最后打开脚本窗口顶部的方法列表并选择 onCreate,如图所示: count++; if (count % 2 != 0) { ??style.setBackgroundColor(silver); ?} 保存,点击Preview预览结果如下图。 多参数查询 在多参数查询时,根据输入的参数不同,查询出不同的结果集,这就需要对查询sql语言进行拼凑。在birt环境下这种拼凑可以在data set的script编辑框中完成。前端包含在标签中的查询参数提交上来后,通过params[parameterName]即可引用。 首先,按照3.3创建数据集的步骤创建数据集。Sql 创建报表参数,sql需要的条件参数。如下图: 点击Data Set(创建的数据集),然后点击编辑区的Script出现脚本编辑器。打开脚本窗口顶部的方法列表并选择brferOpern如下图: if(!params[name].equals() || !params[city].equals()) this.queryText = this.queryText+ where ; if(params[name]!=null !params[name].equals()) this.queryText = this.queryText+ CUSTOMER_NAME like %+params[name]+%; if(!params[city].equals()) this.queryText = this.queryText+ and city =+params[city]+; 说明:this.queryText获取之前创建的没有参数的sql语句。 保存,点击编辑区的Preview预览。会弹出输入参数的对话框。如下图: 点击ok,就在预览窗口看到根据条件查询结果。如下图: 脚本创建数据源 通过脚本从properties配置文件取得jdbc数据源信息。 在已创建的jdbc数据源的基础编写脚本。 选择数据资源管理器(Data Explorer)-Data Source(创建的数据源),如下图: 点击编辑区的Script脚本编辑器,打开脚本窗口顶部的方法列表并选择brferOpern如下图: 由于在这里的代码只支持绝对路径,在服务器部署的情况下可能不太适用,可以修改一下支持相对路径,相对于你发布的应用/WEB-INF/目录。如下: java脚本编写 由于不是简单地在 BIRT 报表设计器中直接输入 Java 代码,所以与创建 JavaScript 事件处理程序相比,Java 事件处理程序的创建工作略为复杂。要创建 Java 事件处理程序类,必须编译 Java 类的源代码并确保该类对 BIRT 可视。但是,由于 Eclipse 是健壮的 Java 开发环境并支持将 Java 项目与 BIRT 项目集成,所以,为 BIRT 创建 Java 事件处理程序的过程已大为简化。 创建java类 创建java工程或者报表web工程。 如果创建报表web工程,可以将报表创建在web目录下,方便测试。 选择File-New-Web Project,在窗口Configuretions下拉菜单选择BIRT Reporting Web Project。如图: 点击Finish,完成报表工程创建。如图: 编写java类 在工程src目录下创建类。如图: 创建Employee类,职工信息类。 创建DataFactory类,数据集合类。 java类与报表交互 创建报表。在前面已经讲过怎么创建报表,在这里只要选择报表存放目录为工程的WebCon

文档评论(0)

1亿VIP精品文档

相关文档