在BIRT

时间:2016-07-28 14:45:10

标签: javascript birt maximo

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

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

以下是我目前使用的打开脚本中的代码段:

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 个答案:

答案 0 :(得分:1)

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