Birt基础(report报表简单设计)
先下载eclipse的eclipse-reporting-galileo-SR1-win32.zip(制作报表eclipse插件)
1、 新建一个java project
2、 在这个project上新建一个report的文件如图:
3、 创建数据源:(在此用JDBC的数据源,并命名为student)
4、 创建数据连接,选择Driver Class用jdbc的Driver输入Driver URL、用户名和密码,如果在选择Driver Class时没有jdbc的Driver那点击Manager Drivers把Jdbc的jar包加载进来
5、 创建Data sets(可以看成是结果集)在JDBC Data Source处先可用的数据源,也就是刚创建的student数据源;选择Data Set Type 结果集的类型,这里就选择了SQL Select Query;输入Data Set Name(结果集的名称)这里输入为student
写sql语句使这个结果集是可用的,下图左面显示的是可用的表,在右面输入框内输入相应的sql语句来对应这个结果集
点击Finish完成结果集的创建
6、 现在就可以把这个结果集中的数据按照我们需要的方式显示出来了,点击eclipse窗口左面的Palette选项选择相应控件,有些控件是可以直接接收数据源的如table、Grid……,现在把一个table拖到右面的 .rptdesign文件中,拖过来的时候会弹出来下图的对话框,输入columns(字段数)也就是要显示出来的字段,想显示出多少字段就输入几,选择Data Set (选择结果集)在这里就选择刚刚创建的student结果集
7、 选择左面的Data Explo选项,把要显示出来的选择拖到右面table中的相应位置,如图:
点击下面的preview就可以看到相应的结果了:
下面的结果显示出来本来是没有边框也不会居中对齐的,要设置相应的样式之后才会这样的,设置样式和css是一样的,选中这个table右击,选择style中的new style只要在里面设置border和text block就可以了;在本数据库设计中是把sex性别这个值放在数据字典里的,在这里只能显示出1或2,当然要想显示成男或女也是有办法解决的,那就要涉及到子报表功能。
下面简单说一下子报表的用法
8、 同样先要创建一个结果集,这里名为:dictionary,该结果集中的sql语句如下:
select * from t_dictionary where category=? and code=? |
该数据字典要通过category(数据类型)和code(对应代码)来唯一确定一个数据对象,这样的话,我们就得想办法把两个参数传进来,所以我们要为这个结果集创建两个参数,在点击finish之后再点击左边的Parameters来new两个参数:
为他命一个名便于区分,该参数的类型为String的,是以一个Input的类型出现,默认值为1,这里随便弄一个就行。同理创建另一个名为code的参数
9、 把前面例子是的sex这个字段删除,把一个Grid的控件拖到该位置,并设置Grid为1行1列的,选择右下方的Binding并选择Data Set为dictionary(刚创建的结果集),选择后就可以把该结果集中的相应字段拖到Grid中了(这里为text因为我这个数据库中的text就是用来存放相应值的字段)
10、 下面点击Data Set Parameter Binding来为dictionary设置参数,选择cateogry点击Edit为它设置value的值,因为性别的类型就是为DICT_SEX所以这里就直接输入这个值,由于是String类型的所以要加引号。
而Code的值是根据不同学生的sex字段来决定的,所以和设置固定值有所区别:选择Available Column Bindings(绑定是的可用字段)这里只有table就选择它了,再选择里面的sex字段 双击 就会在上面的输入框中出现row["sex"],如果熟悉的话可以直接在里面输入这个值
11、 一直确认之后再点击preview进行预览就可以看到相应的结果了:
如果看不到上面的图片,请下载下面的附件