Wie binden datatable zu reportviewer-Laufzeit
Will ich binden datatable zu reportviewer mit dem code unten. Ich sehe nicht die Ergebnisse erscheinen in der reportviewer, was das fehlen von Schrift unten?
//create dataset
DataSet ds = new DataSet("myDataset");
//create datatable
DataTable dt = new DataTable("myDatatable");
//add columns
dt.Columns.Add("column1", typeof(string));
dt.Columns.Add("column2", typeof(string));
dt.Columns.Add("column3", typeof(string));
//insert data rows
dt.Rows.Add("row1-col1", "row1-col2", "row1-col3");
dt.Rows.Add("row2-col1", "row2-col2", "row2-col3");
//add datatable to dataset
ds.Tables.Add(dt);
//bind datatable to report viewer
this.reportViewer.Reset();
this.reportViewer.ProcessingMode = ProcessingMode.Local;
this.reportViewer.LocalReport.ReportEmbeddedResource = "Test.Report1.rdlc";
this.reportViewer.LocalReport.DataSources.Clear();
this.reportViewer.LocalReport.DataSources.Add(new ReportDataSource(dt.TableName, dt));
this.reportViewer.RefreshReport();
- Sie haben diese tagged mit winforms, aber mit c#-4.0 - ist das ein ASP.NET app? Wenn ja, können Sie veröffentlichen Sie Ihre HTML?
- Seine winform, C#.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die einzigen Dinge, die ich anders machen, is mir ein:
bevor Sie die Datenquelle, und ich ein:
statt RefreshReport() auf das reportviewer-Steuerelement.
Ich bin mir nicht sicher, was die ReportEmbeddedResource richtig macht, vielleicht versuchen Sie, loszuwerden, die zu.
Ich hatte gerade das gleiche problem, und keine der Antworten, die ich gefunden Googeln alles für mich Tat. Endlich, ich habe es funktioniert. Hier sind die Schritte, die ich gefolgt:
MyDataSet
).MyDataTable
).Report1.rdlc
).reportViewer
).Report1.rdlc
. Diese wird automatisch fügen Sie das DataSet und BindingSource zu Ihrer form.Stellen Sie sicher, dass die Spaltennamen der Datentabelle entspricht der diejenigen, die Sie in MyDataTable.