birt 开发整理。 一些小技巧
来源:互联网 发布:数据加密系统 编辑:程序博客网 时间:2024/06/05 03:46
解决问题的网址:
http://www.birthome.cn
1、设置table隔行变色
新建table,选择表格,点script,在onprepare事件里写:count=0;
再选择明细行,在明细行script oncreate方法里写:
count++;
if(count%10 ==0){
style.pageBreakAfter ="Always"; //设置每页显示10行
}
if(count%2 !=0){
style.setBackgroundColor("white");
}else{
style.setBackgroundColor("#123456");
}
2、dataset 里写上:
select *
from CLASSICMODELS.CUSTOMERS
where CUSTOMERNUMBER = ?
参数绑定到自建立的参数:no,
在dataset beforeopen里设置:
var no ="103";
reportContext.setParameterValue("no",no);
这样就可以设置报表的参数值了。
3、birt动态参数的处理
(点击创建好的Data Set,然后点击右侧Data Set的Script页面,在beforeOpen里面写入脚本)
本例实现根据用户选择不同的查询条件查询显示报表。
按我的报表业务来演示。
我的报表要查询条件是起始时间,结束时间,站点,有票,没票,55以上,55以下
分别设置报表参数对应这几个查询条件。start,end,station,ticketed,unticketed,up55t,below55t
其中有票,没票,55以上,55以下只能选择一种情况
页面代码我就不写了,大概就是如果选择哪个就设置哪个值为1,
在报表的数据集的script里写上:
var condition = "and 1=1 order by Weight desc";
var start = reportContext.getParameterValue("start");
var end = reportContext.getParameterValue("end");
var ticket = reportContext.getParameterValue("ticketed");
var unticket = reportContext.getParameterValue("unticketed");
var up55t = reportContext.getParameterValue("up55t");
var below55t = reportContext.getParameterValue("below55t");
var st = reportContext.getParameterValue("station");
var station = "and DetectionStationNo = '"+ st +"'";
if(st == "all"){
station = "and 1=1";
}
if(ticket==1){
condition = " and VehClass=1 order by Weight desc";
}
if(unticket==1){
condition = " and VehClass=0 order by Weight desc ";
}
if(up55t==1){
condition = " and Weight>55000 order by OverPercent desc";
}
if(below55t==1){
condition = " and not Weight>=55000 order by Weight desc";
}
然后就是this.queryText =" ... .." + condition;
当然有时候我们可能是一种情况就是选择一类,也可以选择全部,比如上面的站点,可能选择所有站点,那就在页面如果用户选择全部,就个特定值过来,我是指定如果是全部,就不加这个条件,1=1
大概就这些,大家自己试试。
4、表格显示行号
在表格明细行的一列,添加数据,然后写上 row.__rownum+1; 数据类型选整数。
5、birt中打印测试
使用保存到文件的形式,代码如下:
importPackage( Packages.java.io );
out = new PrintWriter( new FileWriter( "c:/test/info.txt", true ) );
out.println( "println "+ 变量);
out.close();
当然这里没有判断创建文件,先建立个文件便是,或者也可以判断文件存在否,不存在创建一下。
6、birt 中写入Java代码:
importPackage( Packages.java.io );
out = new PrintWriter( new FileWriter( "c:/test/info.txt", true ) );
out.println( "println "+ 变量);
out.close();
这样可以在birt里面写入所有想要的Java代码
7、脚本里面的注释
用 // 或者 /**/
8、自定义jar:
在birt中可以加入自定义的jar
右键点击项目 Properties -> Report Design -> Classpath -> 按钮[Add External JARs]
然后加入自己的jar
在birt的Script里面引入:
importPackage( Packages.java.io );
例子:我写了一个com.wanmei.birt.test.Birt.java 的类,如下
public class Birt{
public String getThreadName(){
return Thread.currentThread().getName() + "-thread";
}
}
在birt的script中写入
importPackage( Packages.java.io );
importPackage( Packages.com.wanmei.birt.test );
var birt = Birt();
var threadName = birt.getThreadName();
out = new PrintWriter( new FileWriter('c:/info.txt', true ) );
out.println('threadName: ' + threadName);
out.close();
这样就可以在文件 c:/info.txt 中看见打印的内容。
http://www.birthome.cn
1、设置table隔行变色
新建table,选择表格,点script,在onprepare事件里写:count=0;
再选择明细行,在明细行script oncreate方法里写:
count++;
if(count%10 ==0){
style.pageBreakAfter ="Always"; //设置每页显示10行
}
if(count%2 !=0){
style.setBackgroundColor("white");
}else{
style.setBackgroundColor("#123456");
}
2、dataset 里写上:
select *
from CLASSICMODELS.CUSTOMERS
where CUSTOMERNUMBER = ?
参数绑定到自建立的参数:no,
在dataset beforeopen里设置:
var no ="103";
reportContext.setParameterValue("no",no);
这样就可以设置报表的参数值了。
3、birt动态参数的处理
(点击创建好的Data Set,然后点击右侧Data Set的Script页面,在beforeOpen里面写入脚本)
本例实现根据用户选择不同的查询条件查询显示报表。
按我的报表业务来演示。
我的报表要查询条件是起始时间,结束时间,站点,有票,没票,55以上,55以下
分别设置报表参数对应这几个查询条件。start,end,station,ticketed,unticketed,up55t,below55t
其中有票,没票,55以上,55以下只能选择一种情况
页面代码我就不写了,大概就是如果选择哪个就设置哪个值为1,
在报表的数据集的script里写上:
var condition = "and 1=1 order by Weight desc";
var start = reportContext.getParameterValue("start");
var end = reportContext.getParameterValue("end");
var ticket = reportContext.getParameterValue("ticketed");
var unticket = reportContext.getParameterValue("unticketed");
var up55t = reportContext.getParameterValue("up55t");
var below55t = reportContext.getParameterValue("below55t");
var st = reportContext.getParameterValue("station");
var station = "and DetectionStationNo = '"+ st +"'";
if(st == "all"){
station = "and 1=1";
}
if(ticket==1){
condition = " and VehClass=1 order by Weight desc";
}
if(unticket==1){
condition = " and VehClass=0 order by Weight desc ";
}
if(up55t==1){
condition = " and Weight>55000 order by OverPercent desc";
}
if(below55t==1){
condition = " and not Weight>=55000 order by Weight desc";
}
然后就是this.queryText =" ... .." + condition;
当然有时候我们可能是一种情况就是选择一类,也可以选择全部,比如上面的站点,可能选择所有站点,那就在页面如果用户选择全部,就个特定值过来,我是指定如果是全部,就不加这个条件,1=1
大概就这些,大家自己试试。
4、表格显示行号
在表格明细行的一列,添加数据,然后写上 row.__rownum+1; 数据类型选整数。
5、birt中打印测试
使用保存到文件的形式,代码如下:
importPackage( Packages.java.io );
out = new PrintWriter( new FileWriter( "c:/test/info.txt", true ) );
out.println( "println "+ 变量);
out.close();
当然这里没有判断创建文件,先建立个文件便是,或者也可以判断文件存在否,不存在创建一下。
6、birt 中写入Java代码:
importPackage( Packages.java.io );
out = new PrintWriter( new FileWriter( "c:/test/info.txt", true ) );
out.println( "println "+ 变量);
out.close();
这样可以在birt里面写入所有想要的Java代码
7、脚本里面的注释
用 // 或者 /**/
8、自定义jar:
在birt中可以加入自定义的jar
右键点击项目 Properties -> Report Design -> Classpath -> 按钮[Add External JARs]
然后加入自己的jar
在birt的Script里面引入:
importPackage( Packages.java.io );
例子:我写了一个com.wanmei.birt.test.Birt.java 的类,如下
public class Birt{
public String getThreadName(){
return Thread.currentThread().getName() + "-thread";
}
}
在birt的script中写入
importPackage( Packages.java.io );
importPackage( Packages.com.wanmei.birt.test );
var birt = Birt();
var threadName = birt.getThreadName();
out = new PrintWriter( new FileWriter('c:/info.txt', true ) );
out.println('threadName: ' + threadName);
out.close();
这样就可以在文件 c:/info.txt 中看见打印的内容。
- birt 开发整理。 一些小技巧
- iOS 开发一些小技巧(收集整理)
- birt报表小技巧
- iOS开发的一些小技巧(整理版)
- birt javascript小技巧集锦
- 整理关于java开发工具使用过程中一些小技巧来提高开发效率
- IOS开发一些小技巧
- iPhone开发一些小技巧
- iOS开发:开发中的一些小技巧
- iOS开发的一些技巧整理
- .NET开发中的一些小技巧
- .NET开发中的一些小技巧
- .NET开发中的一些小技巧
- .NET开发中的一些小技巧
- NET开发中的一些小技巧
- .NET开发中的一些小技巧
- .NET开发中的一些小技巧
- .NET开发中的一些小技巧
- BIRT 报表的动态交互性
- 11级_Java_曹建波4.17 数组
- 第9周任务4(建立一个二维数组类,完成矩阵的输入、输出、加、减、相等判断操作)
- 自考让我成就梦想
- spring 依赖注入方式总结详解
- birt 开发整理。 一些小技巧
- 简单看了一下源码的实现,这里贴一点个人觉得比叫重要的代码。
- git 使用详解(8)-- 分支HEAD
- Facebook成功分析
- Linux的用户和组
- 调用系统相机拍照和选择相册
- Command模式
- 【Visual C++】游戏开发笔记十七 游戏基础算法(一) 游戏随机系统初步
- ZFS源代码之旅——ZAP模块分析(一)