1

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();
    }
4

0 に答える 0