0

在 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";
}
4

1 回答 1

3

正确的地方是您的数据集beforeOpen事件。

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

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

if (params["All"].value != null) {
    this.queryText = "select ...";
}
于 2012-06-19T18:24:04.170 回答