-4

c# を使用して Windows アプリケーションを作成しました。その中で、およびを使用して多くのレポートを作成しました。しかしMicrosoft Report ViewerRdlc Pagesプロジェクトを別のシステムにインストールすると、次のようなエラーが表示されるため、レポートが生成されません。

Report.rdlc ファイルが見つかりませんでした

では、どのように解決すればよいでしょうか?アプリケーションのインストール時に、システム内の Rdlc ページを含むフォルダーをターゲット システムの指定された場所にコピーすることは可能ですか?

また

永続パスまたは相対パスを指定する他の方法はありますか? Microsoft Report Viewer と Rdlc を使用してレポートを作成しました。私のコードは

            reportViewer1.Reset();

            con.Open();
            Manufactures ds = new Manufactures();

            SqlCommand cmd = new SqlCommand("Stp_ManufacturerReport_Fetch", con);
            cmd.Parameters.AddWithValue("@CompName", cbCompName.Text);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            //da.Fill(ds, "Manufactures");
            DataTable dt = new DataTable();
            da.Fill(dt);
            reportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local;
            reportViewer1.LocalReport.ReportPath = "D:\\Abhith\\TTS\\Cabin\\TTS form Beta\\TTS form Beta\\Manufacturer.rdlc";//PATH OF REPORT
            reportViewer1.LocalReport.DataSources.Clear();
            reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("Manufactures_ManufacturerReport", dt));//FILLING SOURCE FOR REPORT
            reportViewer1.RefreshReport();//REFRESHING THE REPORT`.

問題はパスにあります。別のシステムでこのアプリケーションを使用しているときに、パスが見つかりません。そのため、レポートが生成されません。解決策はありますか?

4

1 に答える 1

0

ファイルで を として指定Build actionし、コードで次のように参照します。.rdlcEmbedded Resource

this.reportViewerScraps.LocalReport.ReportEmbeddedResource = "Backa_Artiklar_2.ScrapReportDocument.rdlc";

編集:質問者のコメントに従って情報を追加しました

ソリューション エクスプローラーに次のファイルがありrdlcます。

ソリューション エクスプローラーの rdlc

コード行を次のように変更します。

reportViewer1.LocalReport.ReportEmbeddedResource = "<namespace>.Manufacturer.rdlc";

<namespace>アプリケーションの名前空間に変更することを忘れないでください

于 2013-03-12T09:57:43.570 に答える