我使用存储过程设计了一个水晶报告,该过程采用两个日期时间参数。 我将这两个参数放在报表头中,当我通过提供参数值运行报表时,它会使用报表头中的参数值正确显示数据。 但是当我尝试使用这个水晶报告在asp.net网络应用程序中导出为PDF时,我遇到了问题。我将数据集设置为ReportDocument对象的SetDataSource()函数,并且数据正确填充但参数值未显示在报告标题中。,因为它需要显示报告的日期范围。
我执行以下代码以导出为PDF。我没有使用任何ReportViewer,因为我只想在新窗口中保存或打开pdf文件。为此我只是在按钮单击事件中执行了以下代码,数据正确,但报告标题中缺少参数值。 Plz帮助..
protected void btnExport_Click(object sender, EventArgs e)
{
ParameterDiscreteValue dateFrom = new ParameterDiscreteValue();
dateFrom.Value = DateTime.Parse(txtDateFrom.Text.ToString());
ParameterDiscreteValue dateTo = new ParameterDiscreteValue();
dateTo.Value = DateTime.Parse(txtDateTo.Text.ToString());
ReportDocument pdfReport = new ReportDocument();
pdfReport.Load(Server.MapPath(@"rptClearingChargeBranchWiseHV.rpt"));
reportName = "Report" + DateTime.Today.Year.ToString() +
DateTime.Today.Month.ToString() + DateTime.Today.Day.ToString();
pdfReport.SetDatabaseLogon("user", "pass", "server", "DataBase");
pdfReport.Database.Tables[0].SetDataSource(GetData().Tables[0].DefaultView);
//GetData() return the data set
pdfReport.SetParameterValue("@DateFrom", dateFrom);
pdfReport.SetParameterValue("@DateTo", dateTo);
pdfReport.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, true, reportName);
Response.End();
}