我们使用c#创建了Windows应用程序。我们使用Microsoft Report Viewer
和Rdlc 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`.
问题在于路径。当我在另一个系统中使用此应用程序时,找不到路径。所以报告没有生成。任何解决方案?
答案 0 :(得分:0)
我已将Build action
文件中的.rdlc
指定为Embedded Resource
,然后在代码中将其引用如下:
this.reportViewerScraps.LocalReport.ReportEmbeddedResource = "Backa_Artiklar_2.ScrapReportDocument.rdlc";
编辑:根据askers评论添加信息
我在解决方案资源管理器中有rdlc
文件:
将您的代码行更改为:
reportViewer1.LocalReport.ReportEmbeddedResource = "<namespace>.Manufacturer.rdlc";
请记住将<namespace>
更改为您的应用程序命名空间