2016-07-28 47 views
1

我在一个非常简单的报告中有两个参数:开始日期和结束日期。这些参数是可选的,在数据​​集打开脚本中,我验证这两个是否有值。如果他们没有任何价值,我会将结束日期设置为当前日期并将开始日期设置为一个月。在BIRT中显示修改的参数值

我直接把我的报告中的参数作为动态文本元素,当它们有值时,它们显示正确,但是当它们没有值时,我想在报告中显示修改后的值。

这是我目前正在使用的开放式脚本的代码片段:

if (params["enddate"].value == null) 
{ 
    params["enddate"] = new java.util.Date(); 
} 

var enddate = reportContext.getParameterValue("enddate"); 

// if parameter startdate is null then set it one month before 

if (params["startdate"].value == null) 
{ 
    var startdate = DateTimeSpan.subDate(enddate, 0, 1, 0); 
    params["startdate"] = startdate; 
} 

startdt_jdbc = MXReportSqlFormat.getStartDayTimestampFunction(params["startdate"]); 
enddt_jdbc =  MXReportSqlFormat.getStartDayTimestampFunction(params["enddate"]); 

回答

1

您应该声明在页面中的变量startdt_jdbc和enddt_jdbc作为全局初始化脚本。然后在整个报告中都可以使用它们,这样您就可以使用正常的数据元素来显示它们。