[英]Display DataTable content in ReportViewer
我听说,打印DataTable的最佳方法是使用ReportViewer 。 但是,我发现实现这一目标比我想象的要困难得多。 我不熟悉ReportViewer,所以也许我想找到一个不存在的解决方案。
“ reportView”是ReportViewer控件。
//I am creating a fresh new DataTable here.
DataTable reportDT = new DataTable();
reportDT.TableName = "reportDT";
DataColumn dataColID = reportDT.Columns.Add("ID");
DataColumn dataColValue = reportDT.Columns.Add("Value");
DataRow newrow = reportDT.NewRow();
newrow["ID"] = string1;
newrow["Value"] = string2;
reportDT.Rows.Add(newrow);
//Until now, this works perfectly with DataGridView.
//I am creating a new source object, hopefully from my datatable.
ReportDataSource source = new ReportDataSource("reportDT", reportDT);
reportView.ProcessingMode = ProcessingMode.Local;
reportView.LocalReport.DataSources.Add(source);
this.reportView.RefreshReport();
像这样运行应用程序不会引发异常,但是它也不会在reportview中显示任何数据。 它说:“尚未定义报告定义的来源”。 我已经意识到它可能需要一个.rdlc文件,该文件必须在设计时创建。 但是,如果我在设计时创建了它,它希望我用数据填充它,这是我无法做到的,因为数据是在运行时创建的。 所以我想在ReportViewer中显示一堆数据,但是上面的代码不起作用。 怎么了
您需要创建一个报告文件。 reportViewer1
是Control
而不是Report
,因此无法直接显示数据。
为避免重复代码,请在此处找到您的答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.