【问题标题】:optional parameter in birt reportbirt 报告中的可选参数
【发布时间】:2013-12-28 04:41:49
【问题描述】:

我使用过更多可选参数,例如国家、州、城市,并且在打开之前我已经编写了一些脚本,但它不起作用...

打开前::

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();

}

【问题讨论】:

标签: parameters birt


【解决方案1】:

如果你有下面link1link2提供的截图,那么 你必须像这样在你的javascript中做一个简单的逻辑 var rptFlag = ""
如果选择了 国家,则分配 rptFlag = 'country'
如果 state 被选中然后分配rptFlag = 'state'
如果选择了 city,则分配 rptFlag = 'city'
将此作为 rptFlag 参数传递给报告并 在打开之前

你必须像这样检查......

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

 /* your query  */

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

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

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多