C# ReportViewer不显示RDLC报告

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

此处Powerfail_101是数据库表名,存储Powerfail数据。RDLC报告不显示ReportViewer上的任何数据。ReportViewer上的数据为空

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;不,是的,我跟踪了链接