** Mise à jour** : 11/19/2019
Microsoft a publié une nouvelle version du contrôle 150.1400.0
dans leur bibliothèque Nuget. Mes courts essais montrent que cela fonctionne à nouveau dans le concepteur de formulaires où 150.1357.0
et 150.1358.0
ne l'a pas fait. Cela inclut la possibilité de redimensionner et de modifier les tâches du ReportViewer sur le contrôle lui-même.
** Mise à jour** : 8/18/2019
Suppression de la dernière version et retour à la version précédente 150.900.148.0
semble fonctionner sur plusieurs ordinateurs que j'utilise avec VS2017 et VS2019.
Vous pouvez revenir à la version 150.900.148 dans le gestionnaire de paquets de la solution Nuget. Le fonctionnement est similaire à celui des versions précédentes. Utilisez la liste déroulante pour sélectionner l'ancienne version.
Il peut être plus facile de supprimer manuellement les références aux versions post 150.900 de ReportViewer et de les réadapter que de les corriger.
N'oubliez pas de redémarrer Visual Studio après avoir modifié l'entrée de la boîte à outils.
Mise à jour : 8/7/2019
Une version plus récente du contrôle ReportViewer a été publiée, coïncidant probablement avec Visual Studio 2019. Je travaillais avec la version V150.1358.0.
En suivant les instructions de cette réponse, le contrôle se retrouve dans la boîte à outils du concepteur. Mais une fois déposé sur le formulaire, il ne s'affiche pas. Le contrôle s'affiche sous le formulaire comme un composant non visuel.
Cela fonctionne comme prévu, selon Microsoft SQL BI soutien. Il s'agit du groupe responsable du contrôle.
Bien qu'il ne soit toujours pas possible d'interagir directement avec le contrôle, ces étapes supplémentaires constituent une solution de contournement permettant de dimensionner le contrôle sur le formulaire. Bien qu'il soit maintenant visible, le concepteur traite le contrôle comme s'il n'existait pas.
J'ai créé une demande de feedback à la suggestion du support Microsoft SQL BI. Veuillez envisager de voter sur cette demande pour attirer l'attention de Microsoft.
Page de commentaires sur Microsoft Azure - Rétablissement des fonctions de conception du contrôle ReportViewer de WinForms
Des étapes supplémentaires :
-
Après avoir ajouté le visualisateur de rapport au WinForm
-
Ajouter un panneau de contrôle au WinForm.
-
Dans le fichier form.designer.cs du formulaire, ajoutez le contrôle Reportviewer au panneau.
//
// panel1
//
this.panel1.Controls.Add(this.reportViewer1);
-
Revenez au concepteur du formulaire, vous devriez voir le reportViewer sur le panneau.
-
Dans le panneau Propriétés, sélectionnez le ReportViewer dans la liste déroulante des contrôles.
-
Définissez la propriété Dock du reportViewer sur Fill (remplissage)
Vous pouvez maintenant positionner le reportViewer en interagissant réellement avec le panneau.
Mise à jour : Microsoft a publié une document le 18 avril 2017 décrivant comment configurer et utiliser l'outil de reporting dans Visual Studio 2017.
Visual Studio 2017 ne dispose pas de la fonction ReportViewer
installé par défaut dans le ToolBox. Installation de l'extension Microsoft Rdlc Report Designer pour Visual Studio et l'ajouter ensuite à la ToolBox donne lieu à un composant non visuel qui apparaît sous le formulaire.
Le support Microsoft m'avait dit qu'il s'agissait d'un bug, mais depuis le 21 avril 2017, il " fonctionne comme prévu ".
Les étapes suivantes doivent être suivies pour chaque projet qui nécessite un financement de l'UE. ReportViewer
.
- Si vous avez
ReportViewer
dans la boîte à outils, retirez-le. Mettez-le en surbrillance, faites un clic droit et supprimez-le.
- Pour ce faire, vous devez avoir un projet avec un formulaire ouvert.
Modifié le 8/7/2019 - Il semble que la version actuelle de l'extension RDLC Report Designer n'interfère plus. Vous en avez besoin pour modifier réellement les rapports.
-
Si vous avez le Microsoft Rdlc Report Designer pour Visual Studio installée, désinstallez-la.
-
Fermez votre solution et redémarrez Visual Studio. Cette étape est une étape cruciale, des erreurs se produiront si VS n'est pas redémarré lorsque vous le passage d'une solution à l'autre.
-
Ouvrez votre solution.
-
Ouvrez la console du gestionnaire de paquets NuGet ( Tools/NuGet Package Manager/Package Manager Console
)
-
À l'invite PM>, entrez cette commande, la casse importe.
Install-Package Microsoft.ReportingServices.ReportViewerControl.WinForms
Vous devriez voir un texte décrivant l'installation du paquet.
Maintenant, nous pouvons ajouter temporairement le ReportViewer
dans la boîte à outils.
-
Cliquez avec le bouton droit de la souris dans la boîte à outils et utilisez Choose Items...
-
Nous devons naviguer vers la DLL appropriée qui est située dans les solutions Packages
alors cliquez sur le bouton "Parcourir".
-
Dans notre exemple, nous pouvons coller dans le dossier des paquets comme indiqué dans le texte de la console du gestionnaire de paquets.
C:\Users\jdoe\Documents\Projects\_Test\ReportViewerTest\WindowsFormsApp1\packages
-
Ensuite, double-cliquez sur le dossier nommé Microsoft.ReportingServices.ReportViewerControl.Winforms.140.340.80
Le numéro de version changera probablement à l'avenir.
-
Ensuite, double-cliquez sur lib
et à nouveau le net40
.
-
Enfin, double-cliquez sur le fichier Microsoft.ReportViewer.WinForms.dll
Vous devriez voir ReportViewer
cochée dans la boîte de dialogue. Faites défiler vers la droite et vous verrez la version 14.0.0.0 qui lui est associée.
-
Cliquez sur OK.
ReportViewer
se trouve maintenant dans la boîte à outils.
-
Faites glisser l'outil vers la ou les formes souhaitées.
-
Une fois terminé, supprimez le ReportViewer
de la boîte à outils. Vous ne pouvez pas l'utiliser avec un autre projet.
-
Vous pouvez sauvegarder le projet et vous êtes prêt à partir.
N'oubliez pas de redémarrer Visual Studio chaque fois que vous devez ouvrir un projet avec ReportViewer
pour que la DLL soit chargée depuis le bon endroit. Si vous essayez d'ouvrir une solution avec un formulaire dont l'adresse est ReportViewer
sans redémarrage, vous verrez apparaître des erreurs indiquant que le " The variable 'reportViewer1' is either undeclared or was never assigned.
".
Si vous ajoutez un nouveau projet à la même solution, vous devez créer le projet, sauvegarder la solution, redémarrer Visual Studio et vous devriez alors pouvoir ajouter l'option ReportViewer
au formulaire. J'ai vu que cela ne fonctionnait pas la première fois et que cela apparaissait comme un composant non visuel.
Lorsque cela se produit, le fait de retirer le composant du formulaire, de supprimer l'élément Microsoft.ReportViewer.*
des références du projet, sauvegarder et redémarrer fonctionne généralement.