用pojos做birt的数据源

BIRT and POJOs as datasources example

今天我们来用POJOS作为BIRT报表的数据源来做一个演示。

所用到的java类
Contact.java 
public   class  Contact  {
    String fname;
    String lname;
    String phone;
    
    
public Contact(String fname, String lname, String phone){
        
this.fname = fname;
        
this.lname = lname;
        
this.phone = phone;
    }

  ... 
  setter  
&  getter
 ...
}
ContactListFactory.java
public   class  ContactListFactory  {
    
    
public Contact[] createContactList(){
        Contact[] c 
= new Contact[4];
        
        c[
0= new Contact("stavros""kounis""2310886269");
        c[
1= new Contact("dimitris""kounis""2310888270");
        c[
2= new Contact("dimitris""adamos""2310998417");
        c[
3= new Contact("nikos""koufotolis""2321013770");
        
        
return c;
    }

}

 报表

创建一个新的报表(.rptdesign) ,我们把它命名为contactscript.rptdesign.

数据源

1、现在我们切换到"Report Design"Data Explorer。创建我们的数据源(Data Source),然后我们把它命名为srcScript。

2、我们再来创建Data Sets 我们可以命名为setScript

Data Set Name: setScript
DataSource: srcScript (we have allready create it )

3、创建列(Set up columns)

右键点击你刚才建立的Data Set(setScript)。并选择编辑,在编辑窗口我们选择"Output Columns"节点。然后我们添加三列。

Name  /  Type
--------------
columnFirstName 
/  Any
columnLastName 
/  Any
columnPhoneNumber 
/  Any

如图:

4、Script Code

在报表编辑窗口打开我们刚才创建的Data Set(setScript) ,并且在窗口的下放选择Code标签。

  A - 选择DataSet的open方法,然后写入一下代码。

count  =   0 ;
cf 
=   new  Packages.gr.osmosis.report.data.ContactListFactory();
=  cf.createContactList();

now we have an array of Contacts stored in "c" variable

如图:

 B - 然后再选择Data Set 的 fetch方法,然后再写入一下代码。

if  (count  <  c.length - 1 ) {
    count 
++;
    row[
"columnFirstName"= c[count].getFname();
    row[
"columnLastName"= c[count].getLname();
    row[
"columnPhoneNumber"= c[count].getPhone();
    
return true;
}


return   false ;

如图:

设计报表

在报表设计窗口我们切换到"Layout"标签。

在Data Explorer view 你的Data Set已经有三个子结点了(我们刚才创建的列)。然后我们将这写列都拖拽到报表设计器中。

预览

在预览的时候我们会有一个小小的问题,Report's script 必须要找到我们的java classes(Contact.java, ContactListFactory.java). Report designer使用BIRT's web-app viewer 来预览。但是WEB-APP viewer  并不知道去那里找到我们的java classes。 而 web-app viewer 是以插件的形式存在的。

例如:

C:/JProgramFiles/eclipse-SDK-3.0.2-win32/eclipse/plugins/org.eclipse.birt.report.viewer_1.0.0

然后把我们的java classes 复制到C:/JProgramFiles/eclipse-SDK-3.0.2-win32/eclipse/plugins/org.eclipse.birt.report.viewer_1.0.0/birt/WEB-INF/classes/gr/osmosis/report/data目录。

现在我们就可以选择"Preview" 标签来查看了

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值