Parameters birt报告中的可选参数

Parameters birt报告中的可选参数,parameters,birt,Parameters,Birt,我有更多的可选参数,如国家,州,城市,我写了一些脚本在开放前,但它不工作 开放前:: if (params["productline"].value && params["country"].value) { q1=this.queryText = this.queryText + " AND PRODUCTLINE = '" + params["productline"].value +"'"+" and COUNTRY = '" + params["country"].val

我有更多的可选参数,如国家,州,城市,我写了一些脚本在开放前,但它不工作

开放前::

if (params["productline"].value && params["country"].value)
{
q1=this.queryText = this.queryText + " AND PRODUCTLINE = '" + params["productline"].value +"'"+" and COUNTRY = '" + params["country"].value + "'"+"group by country"; 

reportContext.getDesignHandle().findParameter("state").dropAndClear();
reportContext.getDesignHandle().findParameter("city").dropAndClear();
Packages.java.lang.System.out.println ("Query1:" +q1);  

}
else if (params["productline"].value && params["state"].value)
{

q2=this.queryText = this.queryText + " AND productline = '" + params["productline"].value +"'"+" and state = '" + params["state"].value + "'"+ " group by state";

reportContext.getDesignHandle().findParameter("country").dropAndClear();
reportContext.getDesignHandle().findParameter("city").dropAndClear();

Packages.java.lang.System.out.println ("Query3:" +q2);  
}
else 
{
q3=this.queryText = this.queryText + " AND productline = '" + params["productline"].value +"'"+" and city = '" + params["city"].value + "'"+ " group by city";
Packages.java.lang.System.out.println ("Query3:" +q3);  
reportContext.getDesignHandle().findParameter("state").dropAndClear();
reportContext.getDesignHandle().findParameter("city").dropAndClear();

}

如果你有下面提供的截图,那么 您必须像这样在javascript中执行简单的逻辑 var rptFlag=“”
如果选择了国家,则分配
rptFlag='country'

如果选择了状态,则分配
rptFlag='state'

如果选择了城市,则将
rptFlag='city'

作为rptFlag参数传递给报告并 打开前在

你必须像这样检查

if (params["rptFlag"].value=='country')
{

 /* your query  */

}
else if (params["rptFlag"].value=='state')
{

/* your query  */
}
else 
{
/* your query  */

}

正在执行哪个块?或者抛出任何异常?只有if条件有效…..有什么想法吗,先生???请在为productline和country提供值时,检查if块的执行是否正确….您是否正在尝试这样做