用pojo对象作birt的数据源

pojo对象作birt的数据源

 

 

·创建一个POJO对象:

package org.zsl.pojo;

 

/**

 * 定义一个简单的POJO

 * 里面随便定义了几个属性

 */

public class User {

 

    private String name;

    private String phone;

    private String address;

   

    public User() {

      

    }

    /**

     * 定义一个带参数的构造函数,方便在添加列表的时候操作相应的属性

     * @param name

     * @param phone

     * @param address

     */

    public User(String name,String phone,String address) {

       this.name = name;

       this.phone = phone;

       this.address = address;

    }

    public String getName() {

       return name;

    }

    public void setName(String name) {

       this.name = name;

    }

    public String getPhone() {

       return phone;

    }

    public void setPhone(String phone) {

       this.phone = phone;

    }

    public String getAddress() {

       return address;

    }

    public void setAddress(String address) {

       this.address = address;

    }

}

 

User对象作为显示在报表中的数据对象

·创建一个UserFactory来获取User对象的列表

package org.zsl.pojo;

 

import java.util.ArrayList;

import java.util.List;

 

public class UserFactory {

 

    public List<User> listUsers() {

       List<User> result = new ArrayList<User>();

       User u1 = new User("张三","123456","云南省");

       User u2 = new User("李四","346540","北京市");

       User u3 = new User("王五","098845","上海市");

       User u4 = new User("钱六","014933","浙江省");

       User u5 = new User("赵七","845941","江苏省");

       result.add(u1);

       result.add(u2);

       result.add(u3);

       result.add(u4);

       result.add(u5);

       return result;

    }

}

listUsers()方法写死了一个Userlist,可以根据自己的需要从不同的地方获取相应的User列表。

·创建一个报表文件(这里名为:user.rptdesign)

1、选择左面的Data Explo选项卡,右击Data sources进行New Data Source并输入Data Source Name,这里为:pojoResource

 

2、再右击Data Explo选项卡下面的Data Sets,进行New Data Set,选择刚新建的Data Source,输入Data Set Name,这里为:pojoSet

 

3、点击Next之后为其添加三个输出字段(Output Columns)分别是User对象里的三个字段,Type(类型选择为Java Object),这里的输出字段是根据自己的需要来设置的。

 

4、设置完成之后,在该数据集(set)里的Script下面的Open方法内加入代码:

//定义一个变量,相当于记数器,没有类型

count = 0;

//定义一个UserFactory的引用,在这里面定义都没有类型

uf = new Packages.org.zsl.pojo.UserFactory();

//User的列表放在users里面

Users = uf.listUsers();

 

5、同时也在该数据集下的Script里的fetch方法里加下面代码:

if(count<users.size()) {

    //这里的name是在pojoSet里面定义的一个属性,下同

    row["name"] = users.get(count).getName();

    row["phone"] = users.get(count).getPhone();

    row["address"] = users.get(count).getAddress();

    count++;

    return true;

}

return false;

 

6、选择user.rptdesign中的layout选项(用Rprot Design方式来打开),选择右面的palette选项卡,把能够放数据源的控件(table)拖到user.rptdesign中去,设置为3列,确定后选择右面的Data Explo选项卡,把下面Data Sets下面的pojoSet下面的字段拖到table里的相应位置,如:

 

7、设置好之后,选择user.rptdesign下面的preview下预览一下吧:

 

 

相应的源代码及word在下面的附件中,图片显示不出来请下载附件!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值