how to set Datatable as datasource in ReportViewer
18,447
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.
Comments
-
ala sawa'deh almost 2 years
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 ??