我在一个非常简单的报告中有两个参数:开始日期和结束日期。这些参数是可选的,在数据集打开脚本中我验证这两个是否具有值。如果它们没有任何价值,我将结束日期设置为当前日期,将开始日期设置为一个月。
我将报表中的参数直接作为动态文本元素放置,当它们具有值时,它们会正确显示,但是当它们没有值时,我想在报表中显示修改后的值。
以下是我目前使用的打开脚本中的代码段:
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"]);
答案 0 :(得分:1)
您应该在页面初始化脚本中将变量startdt_jdbc和enddt_jdbc声明为全局变量。然后,这些在报告中可用,因此您可以使用普通数据元素显示它们。