Fermer

juillet 17, 2020

Affichage des rapports dans les formulaires Web ASP.NET


Les outils Telerik Reporting de Visual Studio vous permettent d'afficher des rapports puissants dans les formulaires Web ASP.NET. Découvrez les trois éléments dont vous avez besoin pour afficher des rapports dans des formulaires Web ASP.NET.

L'affichage d'un rapport dans un formulaire Web nécessite seulement trois choses: des rapports, une source de rapport pour fournir ces rapports et une visionneuse de rapports pour les afficher. Avec les outils Telerik Reporting disponibles dans Visual Studio, il est facile de rassembler ces trois éléments dans un projet Web Forms.

Vous avez d'abord, bien sûr, besoin d'un rapport. Avec un projet Web Forms, la façon la plus simple de créer un rapport consiste à utiliser l'assistant Telerik Report R2 2020 à partir de Visual Studio. L'assistant facilite non seulement la génération d'un rapport, mais ajoute automatiquement votre rapport à votre projet sous forme de fichier .cs ou .vb. L'utilisation de l'Assistant Rapport ajoute également une référence à la bibliothèque Telerik.Reporting à votre projet, qui prend en charge les autres outils que vous utiliserez.

Pour utiliser l'Assistant Rapport, ajoutez d'abord un dossier appelé Rapports à votre projet, puis cliquez avec le bouton droit dans le dossier de l'Explorateur de solutions, choisissez Ajouter | Nouvel élément, puis sélectionnez l'assistant Telerik Report R2 2020. À strictement parler, vous n'avez pas besoin de placer votre rapport dans un dossier appelé Rapports, mais la création de ce dossier vous permet d'afficher, par exemple, des rapports créés par le Telerik Report Designer R2 2020 autonome qui sont conservés dans un fichier .trdp (Je vais montrer comment les ajouter à la fin de ce post). La première fois que vous exécutez l'assistant, vous serez invité à faire confiance à l'assistant – cliquez simplement sur le bouton Faire confiance dans la boîte de dialogue.

Selon votre type de projet, l'assistant génère un fichier .cs ou .vb avec le nom de votre rapport (dans mon cas, j'ai créé un rapport appelé ContactList). Lors de la création de mon rapport, j'ai pris l'option d'intégrer la connexion à la source de données du rapport dans le rapport. Encore une étape: avant de créer une page pour afficher votre rapport, construisez votre projet (si vous ne le faites pas, l'outil que vous utilisez à l'étape suivante se plaindra de la nécessité de construire votre projet… puis de construire votre projet

Prenez le livre électronique: un guide rapide des outils de création de rapports .NET experts

Affichage de votre rapport

Maintenant que vous avez votre rapport, vous pouvez commencer à ajouter le formulaire Web qui s'affichera le rapport en cliquant avec le bouton droit sur votre projet et en sélectionnant Ajouter | Nouvel article. Ensuite, dans la boîte de dialogue Ajouter un nouvel élément, sélectionnez la visionneuse de rapports Telerik HTML5 Web Forms (vous pouvez la trouver sous l'onglet Web | Web Forms sur le côté gauche de la boîte de dialogue). L'ajout d'un formulaire Web à l'aide de cette option ouvre un assistant qui vous guidera non seulement lors de la configuration de votre visionneuse de rapports, mais configurera également votre projet pour servir votre rapport à votre visionneuse.

Sur la première page de l'Assistant, vous serez invité à choisir entre «Créer un nouveau service REST» et «Utiliser le service REST existant». Si vous avez configuré un projet distinct pour conserver vos rapports ou avez déjà utilisé cet assistant sur ce projet, choisissez l'option "Utiliser le service REST existant" et entrez l'URL du projet contenant vos rapports. Si c'est la première fois que vous exécutez l'assistant et que vous souhaitez utiliser le projet en cours à la fois comme source de rapport et pour afficher les rapports, choisissez l'option "Créer un nouveau service REST".

Après avoir cliqué sur le bouton Suivant, vous ' J'aurai l'occasion de choisir le rapport qui sera servi par votre source de rapport. Comme j'ai déjà créé un rapport, j'ai choisi "Définition de rapport existante". Choisir cette option vous offre trois options sur le côté droit de la page de l'assistant:

  • Définition TRDP, TRBP ou TRDS
  • Entrez la définition de rapport de type créée dans Visual Studio
  • Sélectionnez la définition de type créée dans Visual Studio

Si vous avez créé votre rapport à l'aide de l'assistant de rapport, comme je l'ai fait, choisissez le choix «Sélectionner la définition de type créée dans Visual Studio»… et attendez un peu. L'assistant s'arrêtera pour créer une liste à partir de tous les fichiers de classe pertinents de votre projet. Une fois l'assistant terminé, recherchez votre classe de rapport dans la liste, sélectionnez-la et cliquez sur le bouton Terminer de l'assistant.

L'assistant fait beaucoup de choses pour votre projet à ce stade. Outre l'ajout de la page pour afficher votre rapport, l'assistant ajoute également une classe de contrôleur d'API Web qui servira vos rapports. L'ajout de ce contrôleur déclenchera l'ajout de la prise en charge d'API Web à votre application. Donc, encore une fois, vous devrez être patient (et aussi, la première fois que vous exécutez l'Assistant, cliquez sur un bouton Trust pour assurer à Visual Studio que rien de mal ne se passe).

Lorsque l'Assistant est terminé, il s'affiche un message d'erreur effrayant, car vous utilisez votre projet à la fois pour afficher les rapports et comme source de rapport: vous pouvez ignorer ce message. Vous constaterez que votre projet contient un nouveau formulaire Web nommé d'après votre rapport. Pour afficher votre rapport, ouvrez ce fichier aspx et appuyez sur F5 .

Si vous préférez ignorer les assistants et tout faire vous-même, il existe un guide pas à pas Telerik .

Enregistrez votre place: rapports détaillés – Comment rationaliser les rapports en toute simplicité

Exploitation de ReportViewer

Une fois que vous avez votre rapport à l'écran, vous pouvez commencer à exploiter la puissance de ReportViewer. Sans rien faire de plus, votre utilisateur pourra utiliser le menu de ReportViewer pour parcourir le rapport, le télécharger dans différents formats (PDF, CSV, RTF, etc.) et l'imprimer. Avec une configuration supplémentaire, vous pouvez aider les utilisateurs à envoyer le rapport par e-mail ou à fournir des paramètres pour filtrer le rapport.

Par défaut, les utilisateurs peuvent faire défiler le rapport en continu (de nouvelles pages s'affichent lorsque l'utilisateur défile vers le bas d'une page). ). Si vous souhaitez que les utilisateurs parcourent toujours le rapport, vous pouvez ajouter l'attribut Page à votre composant ReportView et le définir sur PageMode.SinglePage, comme ceci:

 <telerik: ReportViewer
                PageMode = "SinglePage"

Votre utilisateur peut également effectuer un zoom avant ou arrière sur votre rapport à l'aide des icônes de loupe de la barre de menus de ReportViewer. Cependant, vous pouvez contrôler le niveau de zoom de l'affichage initial avec l'attribut ScaleMode de ReportViewer. La définition de ScaleMode sur FitPage compactera par exemple une page entière du rapport dans une seule fenêtre de navigateur. Vous pouvez également définir ScaleMode sur Specific et ajouter l'attribut Scale pour spécifier le niveau de zoom sur l'affichage initial du rapport, comme ceci:

 <telerik: ReportViewer
                ScaleMode = "Specific"
                Échelle = "1,2"

Prise en charge de nouveaux rapports

Maintenant que votre projet est configuré, vous pouvez réexécuter l'Assistant pour ajouter un formulaire pour un nouveau rapport. Assurez-vous d'abord que vous connaissez l'URL de votre projet (ce sera quelque chose comme https: // localhost: 44395 /). Lorsque vous exécutez l'assistant, choisissez «Utiliser le service REST existant» sur la première page et entrez l'URL de votre projet avec les segments / api / reports supplémentaires (par exemple https: // localhost: 44395 / api / reports).

Cela peut soyez exagéré, cependant: vous pouvez simplement ajouter un nouveau formulaire Web à votre projet, puis copier tout le balisage du fichier aspx de votre premier formulaire (à l'exception de la directive Page du formulaire) dans le fichier aspx de votre nouveau formulaire. Si vous suivez cette route (et continuez à utiliser l'Assistant Rapport Visual Studio pour générer des rapports), la seule chose que vous devez modifier dans le balisage lorsque vous copiez des rapports se trouve dans l'élément : vous devez mettre à jour l'attribut Identifier avec le nom de votre nouveau rapport. Pour un rapport dans un rapport .cs ou .vb, vous devez passer le nom de classe complet suivi de l'espace de noms de la classe.

Cet exemple affiche un rapport appelé VendorList dans un projet appelé ReportSite:

  

Mais vous pouvez également afficher les rapports contenus dans les fichiers .trdp générés par le concepteur de rapports autonome de Telerik, Report Designer R2 2020. Tout d'abord, utilisez Ajouter | Élément existant pour ajouter les fichiers .trdp produits par le concepteur dans le dossier Rapports de votre projet. Modifiez ensuite l'élément mais cette fois, en plus de mettre à jour l'attribut Identifier avec le nom de votre fichier de rapport, modifiez également l'attribut IdentifierType en CustomReportSource.

Ce balisage, par exemple, affiche un. Fichier trdp appelé EmpList.trdp:


Une page de rapport unique

Et même cela peut être plus de travail que vous n'en avez besoin. Si vous le souhaitez, vous pouvez avoir un seul formulaire Web pour afficher tous vos rapports — il vous suffit de modifier les options ReportSource à partir du code.

Pour prendre en charge cela, créez d'abord un formulaire avec un ensemble de liens hypertexte qui permet aux utilisateurs de sélectionner le rapport Ils veulent. Dans chaque HyperLink, transmettez le nom du rapport à afficher dans la chaîne de requête de NavigateUrl. Voici deux HyperLinks, un pour un rapport .trdp appelé EmpList et un pour un rapport .cs / vb appelé ContactList:


   Liste de contacts

Liste des employés

Dans le fichier de code du formulaire avec votre formulaire Web ReportViewer, vous récupérez l'identificateur ReportSource de la chaîne de requête lorsque le formulaire Web est chargé pour la première fois. Vous pouvez ensuite définir l'IdentifierType en fonction du nom du rapport (les fichiers .trdp requièrent l'IdentifierType à CustomReportSource).

Voici un exemple de code qui le fait:

 protected void▶Load (expéditeur d'objet, EventArgs e)
{
   if (! IsPostBack)
   {
      this.reportViewer1.ReportSource.Identifier = Request.QueryString ["ReportName"];
      if (Request.QueryString ["ReportName"]! = null &&
           Request.QueryString ["ReportName"] .Contains (". Trdp"))
      {
         this.reportViewer1.ReportSource.IdentifierType = IdentifierType.CustomReportSource;
      }
      autre
      {
         this.reportViewer1.ReportSource.IdentifierType = IdentifierType.TypeReportSource;
      }
   }
}

Et maintenant, vous êtes prêt à fournir de beaux rapports dans votre application Web Forms.

Vous avez essayé Telerik DevCraft?

Vous pouvez choisir Telerik Reporting et Telerik Report Server en tant que produits individuels ou profitez-en dans le cadre des offres groupées Telerik DevCraft.

Essayez Telerik DevCraft

Telerik DevCraft est la meilleure collection d'outils de développement de logiciels à travers les technologies .NET et JavaScript, qui comprend des composants d'interface utilisateur modernes, riches en fonctionnalités et conçus par des professionnels pour les applications Web, de bureau et mobiles, des solutions de reporting et de gestion de rapports, des bibliothèques de traitement de documents, des tests et des simulations automatisés outils des suites Telerik et Kendo UI. DevCraft vous fournira tout ce dont vous avez besoin pour fournir des applications exceptionnelles en moins de temps et avec moins d'efforts. Avec le soutien de notre équipe d'assistance légendaire, qui se compose des développeurs qui créent les produits, et d'une tonne de ressources et de formations, vous pouvez être assuré que vous avez un partenaire stable sur lequel compter pour vos défis quotidiens tout au long de votre parcours de développement logiciel. [19659044]




Source link