0

BIRTでは、JavaScriptを使用して、Webページから渡されたパラメーターを読み取り、それが特定の値であることに基づいて、変更されたクエリを表示したいと思います。

次のコードは正しいですか?そして、私はこれをどこに置きますか?(どのイベント)

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

正しい場所は、Data SetbeforeOpenイベントです。

queryText使用する代わりにthis.queryText。データ セット コンテキストでthisは、そのデータ セット オブジェクトとそのプロパティを参照します。

そして、使用してパラメーターを設定するhttpServletRequestのは私には奇妙に思えます。ネイティブの BIRT レポート パラメーターを使用しないのはなぜですか?

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