在 BIRT 中显示修改后的参数值

Displaying modified parameter value in 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"]);

您应该在页面初始化脚本中将变量 startdt_jdbc 和 enddt_jdbc 声明为全局变量。然后这些在整个报告中可用,因此您可以使用普通数据元素显示它们。