0

パラメータを使用して Crystal レポートを作成しましたが、値が読み込まれません。見出しのみを表示するだけです。列名のみを意味します。コードを確認して修正してください。そして、レポートをpdf形式にロードしようとしましたが、「レポートのロードに失敗しました」のようなエラーが表示されました。私を修正してください。

protected void Button2_Click(object sender, EventArgs e)
    {
        ReportDocument reportdocument = new ReportDocument();
        reportdocument.Load(Server.MapPath("CrystalReport.rpt"));
        reportdocument.SetDatabaseLogon("", "", "Aravind", "MySampleDB");
        reportdocument.SetParameterValue("MRNO", TextBox1.Text);
        CrystalReportViewer1.ReportSource = reportdocument;
    }
    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        EXPORTREPORT();
    }
    private void EXPORTREPORT()
    {
        MemoryStream oStream;
        Response.Clear();
        Response.Buffer = true;
        ReportDocument reportdocument = new ReportDocument();
        reportdocument.Load(Server.MapPath("CrystalReort.rpt"));
        reportdocument.SetDatabaseLogon("", "", "Aravind", "MySampleDB");
        reportdocument.SetParameterValue("MRNO",TextBox1.Text);
        CrystalReportViewer1.ReportSource = reportdocument;

        oStream = (MemoryStream)reportdocument.ExportToStream(ExportFormatType.PortableDocFormat);
        //oStream = (MemoryStream)crReport.ExportToStream(ExportFormatType.PortableDocFormat);
        Response.ContentType = "application/pdf";
        try
        {

            //write report to the Response stream

            Response.BinaryWrite(oStream.ToArray());

            Response.End();

        }

        catch (Exception ex)
        {
            Label2.Visible = true;
            Label2.Text = "ERROR:" + Server.HtmlEncode(ex.Message.ToString());


        }

        finally
        {

            //clear stream

            oStream.Flush();

            oStream.Close();

            oStream.Dispose();

        }
4

4 に答える 4

0

値を必要なタイプにキャストします。その数の場合は、Convert.ToDouble(TextBox1.Text)

于 2012-07-12T09:34:58.173 に答える
0

MRNOの種類は?以下のコードも試してみてください。rptDoc.ExportOptions.ExportDestinationType = ExportDestinationType.NoDestination;

                Stream getStreams = rptDoc.ExportToStream(ExportFormatType.PortableDocFormat);
                byte[] getbytes = GetStreamAsByteArray(getStreams);

                Response.Clear();
                Response.ContentType = "application/pdf";
                Response.AddHeader("Content-Length", getbytes.Length.ToString());
                Response.BinaryWrite(getbytes);
于 2012-07-13T13:43:25.743 に答える
0

レポートの名前はCrystalReort.rptですか? より一般的な名前の代わりにCrystalReport.rpt

それはあなたのウェブサイトのルートにもありますか?

于 2012-07-12T08:41:23.473 に答える