c# – 如何使用编码运行rdlc

我创建了一个rdlc,其中我使用数据集作为解决方案资源管理器中的新项目来设计我的报告.从我的数据源绑定我的报告后,该数据源名为Dataset1.我已创建其对象并尝试使用编码填充此数据源.现在当我运行以下代码时,我没有得到任何结果.

可能是什么问题?

reportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local;
LocalReport localReport = reportViewer1.LocalReport;
localReport.DataSources.Clear();
localReport.ReportPath = @"E:\Projects\Manojp\AARFID_SSRS_Report\WindowsFormsApplication1\WindowsFormsApplication1\Local Report\rptTest.rdlc";

// DataSet dataset = new DataSet("AARFID_Report");
DataSet1 ds = new DataSet1();

// fill the Data Set from DataBase.
//ds.Tables.Remove("M_GUEST");
ds.Tables.Clear();
GetData(ref ds);

//
// Create a report data source for the sales order data

ReportDataSource rds = new ReportDataSource();
rds.Name = "AA";
rds.Value = ds.Tables[0];
localReport.DataSources.Add(rds); 
// reportViewer1.LocalReport.DataSources.Add(rds); 


reportViewer1.RefreshReport();
localReport.DataSources.Clear();

GetData()执行此操作:

connection.Open();
ad.Fill(ds,"M_GUEST");
connection.Close();

在报告视图中,消息显示为:

A data source instance has not been supplied for the data source ‘dtaset1_m_guest’

最佳答案 确保rdl文件和报告生成器中的数据集名称匹配!

最简单的方法是使用DataSet,DataSource和名为“M_GUEST”的实例.另外,在渲染之前不要清除数据源.

点赞