Comment lier datatable à reportviewer d'exécution
Je veux faire un bind datatable à reportviewer avec le code ci-dessous. Je ne vois pas les résultats apparaissent dans le reportviewer, ce que le manque de script ci-dessous?
//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();
Vous avez ce tag avec winforms, mais avec c#-4.0 - est-ce une ASP.NET app? Si oui, vous pouvez poster votre code HTML?
Son winform C#.
Son winform C#.
OriginalL'auteur new bie | 2013-04-03
Vous devez vous connecter pour publier un commentaire.
OriginalL'auteur new bie
Les seules choses que je fais différemment, je fais un:
avant de définir la source de données, et j':
au lieu de l'appeler RefreshReport() sur le contrôle reportviewer.
Je ne suis pas sûr de ce que l' ReportEmbeddedResource correctement, peut-être essayer de se débarrasser de ce trop.
Hmm, il semble que vous pouvez être chargé dans le RDLC de fichier incorrecte. Le rapport lui-même apparaître sur votre écran (par exemple, vient de l'en-tête) ou est-elle complètement vide?
seulement l'en-tête est visible, le tableau de données n'apparaît pas imprimé sur le rapport.
OriginalL'auteur Rocklan
J'ai juste eu ce même problème, et aucune des réponses que j'ai trouvé à partir d'une recherche sur Google n'a rien fait pour moi. Enfin, j'ai eu de travail. Voici les étapes que j'ai suivi:
MyDataSet
).MyDataTable
).Report1.rdlc
).reportViewer
).Report1.rdlc
. Cela ajoutera automatiquement le jeu de données et un BindingSource à votre formulaire.Assurez-vous que les noms de colonnes dans votre DataTable correspond à ceux que vous avez définis dans MyDataTable.
OriginalL'auteur javon27