如何在 ReportViewer 中将 Datatable 设置为数据源 [英] how to set Datatable as datasource in ReportViewer
问题描述
我在 ReportViewer
中搜索了关于 Datatable
作为 datasource
的最后一个问题,我发现这是解决方案
DataTable table = new DataTable();table.Columns.Add("value", typeof(string));table.Columns.Add("price", typeof(string));table.Columns.Add("数量", typeof(string));table.Rows.Add("test1","10","20");table.Rows.Add("test2", "10", "20");reportViewer1.LocalReport.DataSources.Clear();ReportDataSource rprtDTSource = new ReportDataSource("TITLE",table);reportViewer1.LocalReport.DataSources.Add(rprtDTSource);reportViewer1.RefreshReport();
但我得到了这张图片
有什么问题??
您似乎忘记为您的报表查看器控件设置报表源.您可以使用以下任一选项设置报告来源:
I was searching in the last question about
Datatable
asdatasource
inReportViewer
and i found this as solutionDataTable table = new DataTable(); table.Columns.Add("value", typeof(string)); table.Columns.Add("price", typeof(string)); table.Columns.Add("quantity", typeof(string)); table.Rows.Add("test1","10","20"); table.Rows.Add("test2", "10", "20"); reportViewer1.LocalReport.DataSources.Clear(); ReportDataSource rprtDTSource = new ReportDataSource("TITLE",table); reportViewer1.LocalReport.DataSources.Add(rprtDTSource); reportViewer1.RefreshReport();
but i get this image as result
what is the problem ??
解决方案It seems you have forgotten to set the report source for your report viewer control. You can set the report source using either of this options:
LocalReport.ReportEmbeddedResource
: The name of the report-embedded resource.LocalReport.ReportPath
: The file system path of the local report.LocalReport.LoadReportDefinition(Stream)
: Loads a report definition for processing using a Stream.LocalReport.LoadReportDefinition(TextReader)
Loads a report definition from the local file system using a TextReader.
For example, I suppose you have added a report to your project, so you can show it in the report viewer this way:
var reportDataSource1 = new ReportDataSource("NameOfReportDataSet", YourDataTable); this.reportViewer1.LocalReport.DataSources.Add(reportDataSource1); this.reportViewer1.LocalReport.ReportEmbeddedResource = "Namespace.ReportName.rdlc"; this.reportViewer1.RefreshReport();
Also you can simply set the report of the report viewer using designer. Put a report viewer on your form and click on top-right arrow to open the smart tag window of report viewer, then choose a report from combo box.
这篇关于如何在 ReportViewer 中将 Datatable 设置为数据源的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!