eclipse birt 经验积累

本文详细介绍了如何实现报表的动态查询功能,包括前端页面的URL构造与参数传递,以及报表设计器中参数的配置与where条件的拼接。同时,还探讨了表样设置的相关内容,如参数化查询与SQL语句的优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[size=large]一.报表动态查询[/size]
1.前台提交部分
var url= 'frameset?__report=fa/detailSaleOnPassReport.rptdesign';
var fbegdate = queryTBar.find('name', 'fbegdate')[0].getValue();
var fenddate = queryTBar.find('name', 'fenddate')[0].getValue();
if( !Ext.isEmpty(fbegdate)){
src = src + '&fbegdate=' + Ext.util.Format.date(fbegdate, 'Y-m-d');
}
if( !Ext.isEmpty(fenddate)){
src = src + '&fenddate=' + Ext.util.Format.date(fenddate, 'Y-m-d');
}
window.location = url


2.报表部分
(1)在报表设计器里的Report paramenters 里面新建参数。
参数名称要与url传递来的参数一致。顺便把 Is Required 选项去掉。
(2)在设计器面板,选择Data Set 然后点击Script
在before open面板中获取参数,并拼写where条件
var where_sql = "1=1";
var fbegdate = reportContext.getParameterValue("fbegdate");
var fenddate = reportContext.getParameterValue("fenddate");
if(fbegdate!=null && fbegdate!=""){
where_sql += " and a.fbilldate >= to_date('"+fbegdate+" 00:00:00','yyyy-mm-dd hh24:mi:ss') ";
}
if(fenddate!=null && fenddate!=""){
where_sql += " and a.fbilldate <= to_date('"+fenddate+" 23:59:59','yyyy-mm-dd hh24:mi:ss') ";
}
var tmp_sql = this.queryText.replace("1=1",where_sql);
this.queryText = tmp_sql;


以上方式是简单的通过设计器处理。以后再尝试使用Birt API来处理。

[size=large]二.表样设置[/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值