2 つの datetime パラメータを使用するストアド プロシージャを使用して、Crystal レポートを設計しました。これら 2 つのパラメーターをレポート ヘッダーに配置し、パラメーター値を指定してレポートを実行すると、レポート ヘッダーのパラメーター値を使用してデータが適切に表示されます。しかし、このクリスタルレポートを使用してasp .net WebアプリケーションでPDFにエクスポートしようとすると、問題に直面しています。データセットを ReportDocument オブジェクトの SetDataSource() 関数に設定すると、データは正しく入力されますが、パラメーター値がレポート ヘッダーに表示されません。レポートの日付範囲を表示する必要があるためです。
PDFにエクスポートするために次のコードを実行しました。PDFファイルを新しいウィンドウで保存または開くだけなので、ReportViewerは使用しませんでした。このために、ボタンクリックイベントで次のコードを実行しただけで、データは正しく表示されますが、レポートヘッダーにパラメーター値がありません。助けてください..
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();
}