当前位置: 代码迷 >> Eclipse >> eclipse birt 心得积累
  详细解决方案

eclipse birt 心得积累

热度:692   发布时间:2016-04-23 01:26:27.0
eclipse birt 经验积累
一.报表动态查询
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来处理。

二.表样设置

  相关解决方案