设置DateTime参数

时间:2013-05-13 13:43:48

标签: c# visual-studio-2012 reportviewer

如下图所示,RDLC支持DateTime参数类型。 enter image description here

我正在尝试设置这样的参数但是这段代码没有编译错误,没有构造函数接受这种类型的参数:

var p = new Microsoft.Reporting.WinForms.ReportParameter("ReportParameter1", DateTime.Now);
LocalReport.SetParameters(p);

有没有办法设置DateTime甚至DateTime? (可为空)作为参数,以便它可以用于进一步的报告计算而不将其转换为字符串?

2 个答案:

答案 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");
        }