一、去掉Birt表格下自动生成的日期时间
在报表下点击Xml Source标签,打开xml,找到
把
这几行去掉即可。
二、Birt表格隔行换颜色
1、 鼠标旋停在表格上,选择Row Detail一行;
2、 选择script标签页,打开birt的脚本编辑窗口;
3、 从下拉列表中选择OnCreate,在下面加入Javascript脚本如下:
if(row.__rownum % 2 == 0){
this.getStyle().backgroundColor = "#E9EAEB";
}else{
this.getStyle().backgroundColor = "#FFFFFF";
}
4、 保存
三、Birt表格分页
下面是我从网上找的方法,我试了一下不行,后来我在table里设置了Page break interval就可以了,但是预览的时候不能看到分页
1、鼠标旋停在表格上,选择Row Detail一行;
2、选择script标签页,打开birt的脚本编辑窗口;
3、从下拉列表中选择onPrepare,在下面加入Javascript脚本如下:
var count = 0;
4、从下拉列表中选择OnCreate,在下面加入Javascript脚本如下:
count++;
if(count % 10 == 0){
style.pageBreakAfter = "always";
}
5、保存,使用Web Reviewer进行预览,数据可以进行分页显示了。注意不要使用Preview标签页进行浏览,这个标签页的浏览效果是不分页的。发布到web工程上,也可以进行分页显示了。
四、BIRT报表添加时间控件的方法
birt再传递参数时候,很多报表需要有时间段的参数,为简化用户操作,日历控件是个很好的选择,在birt里也能实现日历控件的方法,效果如图:
实现方法:
首先需要引入一个Calendar.js脚本,将此脚本放置于WebRoot>webcontent>birt>ajax>utility下,
Calender.js内容如下:
然后修改WebRoot>webcontent>birt>pages>layout>FramesetFragment.jsp,找到
,
再下面加上
。
然后再修改WebRoot>webcontent>birt>pages>parameter>TextBoxParameterFragment.jsp,找到
INPUT CLASS="BirtViewer_parameter_dialog_Input"
再里面的ID="<%= encodedParameterName %>" 下面加上
<%if (encodedParameterName.indexOf("Date")>=0) {%>
οnclick="calendar()"
<%} %>
注意此处的含义是如果参数名中含有"Date",则调用日历控件,这是因为无法判断参数属性,所以要检查参数名称是否含有Date,定义参数的时候也要加上"Date",比如fromDate,endDate等。参数要使用文本框格式,属性设置为String
注:此方法暂不支持Firefox,如果想要再FF下也能使用日历控件,可以用http://www.my97.net/dp/demo/这个日历控件,此控件功能更强大,使用方法与上面的类似。
特别说明:日历控件的使用必须要把报表部署到tomcat或其他容器下,用预览模式不能使用日历控件!
四、Birt部署在tomcat下的方法
1、先下载birt-runtime-2.1.3.zip 地址:http://www.eclipse.org/downloads/download.php?file=/birt/downloads/drops/R-R1-2_1_3-200707051847/birt-runtime-2.1.3.zip
2、将其解压,把目录下的WebViewerExample文件夹复制到Tomcat主目录下的webapps目录下,并改名为birtApp.
3、复制第三方软件:
不过我用的2.1.3版本不用复制itext-1.5.2.jar,相应目录下面都有,也不用复制其他的jar文件。但数据库驱动的jar文件一定要复制(不过报表中没用到数据库访问的话就不用了)!
如果是用tomcat6的版本,需要在工程的Web-INF/lib下放置一个commons-logging-api-1.1.1.jar的包,这个包在tomcat5.5里有,6.0取消了这个包
4、启动Tomcat,在浏览器中输入http://lcoalhost:8080/birtApp/ 在首页中点击"View Example",若正常进入,则说明成功。
5、发布做好的报表文件:将制作好的报表文件如test.rptdesign复制到birtApp下,在浏览器中输入:
http://localhost:8080/birtApp/run?__report=test.rptdesign 就可以访问了。
6、访问报表:http://localhost:8080/birtApp/frameset?__report=报表文件路径
这个web应用支持2个动作:
对于以上2个动作,以下列出可用的参数:
五、Birt设置公用样式(Style)及公用数据源(DataSource)的方法
一、先说设置公用样式:
1.右键单击工程,选择new>Other>Web>CSS,建立一个CSS文件,比如birt.css
2.在birt.css里写样式,如果CSS不熟的话,可以到我的CSDN共享资源里下载,下载地址是(http://download.csdn.net/source/1207675),这个报表能应付一般简单的表格
3.点一个报表文件,选择Layout标签,然后再Outline窗口下看到Styles,下面有两个默认的Style,可以先删除。然后右键单击Styles,选择"Use CSS File...",找到刚才建立的birt.css
4.然后就OK了,如果修改了birt.css,只需要右键单击Outline窗口下的Styles的birt.css,选择"Reload CSS File"
二、再说公用数据源的方法
1.右键单击工程,选择new>Library,起个名字叫ds.rptlibrary
2.在Outline窗口下选择Data Sources,选择JDBC Data Source,然后填入连库字符串及用户名密码
3.这样数据源就建立好了。
4.新建报表后,再Outline窗口下,右键单击Libraries,选择Use Library,选择刚才新建的ds.rptlibrary
5.使用ds我一直没有找到方法,老是找不到怎么把ds引入到Data Sources下,只好修改源代码了,选择报表下面的XML Source 标签,再 后面下粘贴下面的语句
注意id=1350不能和报表中其他的id重复。
然后就能看到Outline窗口下Data Sources下面多了一个Data Source的链接,说明建立成功
以上摘录于:
http://hi.baidu.com/%BA%D3%B1%B1%B6%FE%C9%D9/blog/category/%BC%BC%CA%F5-birt%B1%A8%B1%ED
六、BIRT中的日期时间必须为String类型。
七、BIRT报表设置时间参数。(添加时间控件的方法可以参考网上的资料。这里没有使用时间控件的方法。)
例子如下:
北京移动各产品用户发展综合情况日监控表数据集如下:
select * from bi_ui.v_syf_t8 t
where substr(report_date, 1, 4) = ?
and substr(report_date, 5, 2) = ?
and substr(report_date, 7, 2) = ?
yearSet如下:
select * from bi_ui.ui_dim_date_year dy where dy.year_value <= to_char(sysdate, 'yyyy')
monthSet如下:
select * from bi_ui.ui_dim_date_month
daySet如下:
select * from bi_ui.ui_dim_date_day
北京移动各产品用户发展综合情况日监控表数据集【参数】添加如下:
创建参数组,参数组中添加year、month、day参数。以下是year设置。
数据类型:字符串
显示类型:列表框
选择【动态】:
数据集:yearSet
选择值列:YEAR_VALUE
选择显示文本:YEAR_DESC