使用JavaScript修改BIRT中的查询输出

时间:2012-06-18 11:18:49

标签: javascript eclipse reporting birt

在BIRT中,使用JavaScript,我想读取从网页传递的参数,并根据它是特定值,显示修改后的查询。

以下代码是否正确?我在哪里放这个? (哪个事件)

importPackage( Packages.javax.servlet.http );
importPackage( org.eclipse.birt.report.engine.api.script );
httpServletReq = reportContext.getHttpServletRequest( );
param=httpServletReq.getQueryString( );
if( param.indexof( "All") != -1) {
  queryText = "select CLASSIC.PRODUCTLINES.PRODUCTLINE,                 
  CLASSICMODELS.PRODCTLINES.TEXTDESCRIPTION from CLASSIC.PRODUCTLINES";
}

1 个答案:

答案 0 :(得分:3)

正确的位置是您的数据集beforeOpen事件。

而不是queryText使用this.queryText。在数据集上下文中,this引用该数据集对象及其属性。

使用httpServletRequest设置参数对我来说似乎很奇怪。为什么不使用原生BIRT报告参数?

if (params["All"].value != null) {
    this.queryText = "select ...";
}