C# ReportViewer不显示RDLC报告
此处Powerfail_101是数据库表名,存储Powerfail数据。RDLC报告不显示ReportViewer上的任何数据。ReportViewer上的数据为空C# ReportViewer不显示RDLC报告,c#,winforms,C#,Winforms,此处Powerfail_101是数据库表名,存储Powerfail数据。RDLC报告不显示ReportViewer上的任何数据。ReportViewer上的数据为空 private void GenerateReport(object dt) { if (this.InvokeRequired) { MyDelegate mydelegate = new MyDelegate(GenerateReport); this.Invoke(mydele
private void GenerateReport(object dt)
{
if (this.InvokeRequired)
{
MyDelegate mydelegate = new MyDelegate(GenerateReport);
this.Invoke(mydelegate, new object[] { dt });
}
else
{
DataTable table = (DataTable)dt;
if (table.Rows.Count != 0)
{
table.TableName = "table";
// Clear the rows to clear any previous data.
DataLogger_DBDataSet.PowerFail_101.Rows.Clear();
DataLogger_DBDataSet.Tables.Add(table);
string exeFolder = System.IO.Path.GetDirectoryName(Application.ExecutablePath);
string reportPath = System.IO.Path.Combine(exeFolder, @"Report\PowrfailReport.rdlc");
reportViewer1.LocalReport.ReportPath = reportPath;
this.reportViewer1.LocalReport.DataSources.Clear();
this.reportViewer1.LocalReport.ReportEmbeddedResource = reportPath;
ReportDataSource rds = new ReportDataSource("DataSet1", DataLogger_DBDataSet.Tables["table"]);
reportViewer1.LocalReport.DataSources.Add(rds);
this.reportViewer1.RefreshReport();
}
}
}
我想你没有一步一步地作为我评论中的链接 示例
reportViewer1.LocalReport.DataSources.Clear(); //clear report
reportViewer1.LocalReport.ReportEmbeddedResource = reportPath; // bind reportviewer with .rdlc
Microsoft.Reporting.WinForms.ReportDataSource rds = new
Microsoft.Reporting.WinForms.ReportDataSource("DataSet1", DataLogger_DBDataSet.Tables["table"]); // set the datasource
reportViewer1.LocalReport.DataSources.Add(rds);
rds.Value = DataLogger_DBDataSet.Tables["table"]; //also this line may be required
reportViewer1.LocalReport.Refresh();
reportViewer1.RefreshReport(); // refresh report
请参阅此链接如何使用ReportViewer以及分配您可能错过的数据源的步骤我已删除版本10 ReportViewer,并添加了版本11 ReportViewer的参考。但我得到的ReportViewer仍然是空白的,没有数据..请让我摆脱DISZ为什么您设置了两次报告路径,这一行不是必需的。reportViewer1.LocalReport.ReportPath=ReportPath;不,是的,我跟踪了链接