C# 一个reportViewer中包含两个报告

C# 一个reportViewer中包含两个报告,c#,dataset,visual-studio-2013,reportviewer,C#,Dataset,Visual Studio 2013,Reportviewer,我有一个名为reportviewer1的reportviewer 和两份报告(report1.rdlc,report2.rdlc) 我想通过使用代码在组合框中选择其中一个来将它们显示到reportviwer1中 我尝试了以下代码 reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1")); reportViewer1.LocalReport.ReportEmbeddedResource = "univ

我有一个名为reportviewer1的reportviewer 和两份报告(report1.rdlc,report2.rdlc) 我想通过使用代码在组合框中选择其中一个来将它们显示到reportviwer1中 我尝试了以下代码

 reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1"));

reportViewer1.LocalReport.ReportEmbeddedResource = "university_project.Report1.rdlc";

        reportViewer1.LocalReport.Refresh();
但它不起作用
代码的正确格式是什么?ReportDataSource中是否缺少参数?

您也需要传递DataTable:


reportViewer1.LocalReport.DataSources.Add(newreportdatasource(“DataSet1”,myDataTableWithData))

您需要指定记录的来源(填充数据集)并设置reportViewer的本地路径:

var dataSet = new DataSet();
using (var connection = new SqlConnection("ConnectionString")) 
{
    var sqlAdapter = new SqlDataAdapter("SELECT * FROM TABLE1",connection); // Get the records
    sqlAdapter.Fill(dataSet, "Table1");
}
ReportViewer1.Reset();
ReportViewer1.LocalReport.Path = "university_project.Report1.rdlc"; // Path to your report file            
var dataSource = new ReportDataSource("ReportDataSet_Name", dataSet.Tables[0]); // Specify report's dataset name and the records it use
ReportViewer1.LocalReport.DataSources.Clear(); // Clean the sources so you can use different datasources each time
ReportViewer1.LocalReport.DataSources.Add(datasource);
ReportViewer1.LocalReport.Refresh();