Comment puis-je charger des datatable que ReportDataSource?
Je suis en train de faire quelque chose comme:
this.reportViewer.LocalReport.DataSources.Clear();
DataTable dt = new DataTable();
dt = this.inputValuesTableAdapter.GetData();
Microsoft.Reporting.WinForms.ReportDataSource rprtDTSource = new Microsoft.Reporting.WinForms.ReportDataSource();
rprtDTSource = dt; //this line generates exception
//this.reportViewer.LocalReport.DataSources.Add(rprtDTSource);
this.reportViewer.RefreshReport();
Comment puis-je charger des datatable que ReportDataSource?
L'actuel code produit:
"Impossible de convertir implicitement le type de Système.Les données.DataTable' à 'Microsoft.La production de rapports.WinForms.ReportDataSource' "
c'est juste du c# de déclaration..
OriginalL'auteur ehmad | 2010-10-23
Vous devez vous connecter pour publier un commentaire.
Vous n'êtes pas de l'initialisation de la ReportDataSouce correctement. Donner à ceci un essai:
Aussi, vous pourriez avoir besoin de modifier le premier paramètre à la ReportDataSource constructeur pour définir le nom de la source de données que votre rapport est attendu.
Comme je l'ai mentionné à la fin de mon premier post, vous devez définir le premier paramètre à la ReportDataSource constructeur pour le nom de la source de données de votre rapport est à la recherche pour. Ce nom aurait été à la message d'erreur vous êtes maintenant. Remplacez donc la dt.TableName avec une chaîne de caractères contenant le nom.
J'ai utilisé le même code que ci-dessus, mais l'application ne s'affiche pas quoi que ce soit. Elle va dans l'accrocher état. Merci de m'aider à résoudre ce problème.
OriginalL'auteur madisonw
Je crois que madisonw la réponse ci-dessus est correcte, mais Luc commentaire sur l'utilisation du nom du jeu de données désignée dans l' .rdlc fichier de rapport, pour la source de données.Nom de la propriété, peut-être besoin d'être souligné. Pour moi, c'était le principal bugaboo qui a maintenu mon app de travail. Il peut être trouvé par l'ouverture de l' .rdlc fichier comme un fichier XML à l'aide de la fonction "Ouvrir avec..." de commande. La valeur par défaut, je pense, est tout simplement "DataSet1":
Une autre erreur que j'ai faite n'a pas été dont le .rdlc fichier dans le Debug (ou Libération) dossier. Cela a été fixée par un clic droit sur le .rdlc fichier dans l'Explorateur de solutions, puis Propriétés, puis en définissant des "Copier dans le Répertoire de Sortie" pour "Copy".
Une fois ces deux parties ont été corrigées mon programme a travaillé à utiliser ReportViewer dans une application console pour générer un fichier PDF avec pas d'interface.
OriginalL'auteur MQuiggGeorgia
OriginalL'auteur jack ghaleb
Imaginer les Sources de données bloc de votre fichier RDLC est comme ci-dessous:
< ensembles de données >
< DataSet Name="DataSet1_Lot" >
alors la par rapport code devrait être:
string name = "DataSet1_Lot"; //cela doit exister dans le fichier RDLC
DataTable dt = new DataTable();
Microsoft.La production de rapports.WinForms.ReportDataSource rprtDTSource = new Microsoft.La production de rapports.WinForms.ReportDataSource(nom, dt);
OriginalL'auteur Luke