如下图所示,RDLC支持DateTime参数类型。
我正在尝试设置这样的参数但是这段代码没有编译错误,没有构造函数接受这种类型的参数:
var p = new Microsoft.Reporting.WinForms.ReportParameter("ReportParameter1", DateTime.Now);
LocalReport.SetParameters(p);
有没有办法设置DateTime甚至DateTime? (可为空)作为参数,以便它可以用于进一步的报告计算而不将其转换为字符串?
答案 0 :(得分:2)
ReportParameter的构造函数都没有采用DateTime。 See here.
你可以使用它:
var p = new Microsoft.Reporting.WinForms.ReportParameter("ReportParameter1", DateTime.Now.ToString("MM/dd/yyyy"));
答案 1 :(得分:0)
这是一个古老的问题,但是最近我在尝试将可空日期时间作为参数传递给报表时遇到了这个问题。 我与他们打交道的方式是这样的;
private DateTime? datumOd = null;
private DateTime datOd;
datOd = datumOd.HasValue ? datumOd.Value : DateTime.Now.AddYears(-20);
if (datumOd.HasValue)
{
parameters[0] = new ReportParameter("DatumOd", datOd.ToString("dd.MM.yyyy
HH:mm"));
}
else
{
parameters[0] = new ReportParameter("DatumOd");
}