WinForms アプリケーションで ReportViewer 14.0 で vs2017 を使用しています。以前のバージョンのVSでこれを問題なく実行したことがありますが、今回はこれを機能させることができないことに非常に驚いています。
これが私がこれまでに行ったことです:
- アプリケーションのルートにある Reports フォルダーにレポート (RDLC) を作成しました。
- BuildAction を None に設定し、出力ディレクトリにコピーして新しい場合はコピーします
- 新しいフォームに、ReportViewer コンポーネント (rpt と呼ばれる) を配置しました。
- 処理モードをローカルに設定しました
- フォームの Load イベントで、次のコードを実行します。
string path = AppDomain.CurrentDomain.BaseDirectory + @"Reports\Report.rdlc";
rpt.LocalReport.ReportPath = path;
rpt.LocalReport.SetParameters(new ReportParameter("parTitle", Title));
rpt.LocalReport.DataSources.Add(new ReportDataSource("ds", Data));
rpt.Refresh();
アプリを実行すると、フォームが読み込まれますが、ReportViewer に次のメッセージが表示されます:レポート定義が指定されていません
また、ビルド アクションを EmbeddedResource に設定して、以下を使用してみました。
rpt.LocalReport.ReportEmbeddedResource = "Project.Reports.Report.rdlc";
同じ結果です。私も試しました:
Assembly a = Assembly.GetExecutingAssembly();
Stream report = a.GetManifestResourceStream("Project.Reports.Report.rdlc");
rpt.LocalReport.LoadReportDefinition(report);
変わりはない。私はいつもこれを得ています:
私はこれを数時間見つめてきましたが、私の人生では、何が間違っているのかわかりません。どんな助けでも大歓迎です。
ありがとうございました。