Contrôles Reporting Services et ReportViewer dans Visual Studio

Le contrôle ReportViewer est un contrôle de données Visual Studio que vous pouvez ajouter à une page Web dans un projet d'application ASP.NET ou à un formulaire dans une application Windows Visual Basic. Le contrôle incorpore des possibilités de traitement et de visualisation de rapport directement dans votre application. Il fournit également un environnement de conception intégré vous permettant de construire des définitions de rapport client (.rdlc) en utilisant n'importe quel objet de données ADO.NET. Une API entièrement fonctionnelle fournit un accès par programme au contrôle et aux rapports afin que vous puissiez configurer la fonctionnalité du rapport au moment de l'exécution.

Bien que le contrôle ReportViewer soit basé sur la même technologie Microsoft de création de rapports que Reporting Services, il est distribué sous forme de contrôle de données dans Visual Studio. Vous pouvez utiliser le contrôle avec Reporting Services ou sous forme de contrôle de données incorporé fournissant des fonctionnalités de rapport enrichies.

Pour en savoir plus sur le contrôle ReportViewer, recherchez « Contrôles ReportViewer » dans la documentation du produit Visual Studio.

Synthèse des fonctionnalités

Le tableau suivant montre une comparaison du contrôle ReportViewer et de Reporting Services pour le traitement des rapports, l'extraction des données, le déploiement et la conception de rapports. Ces informations vous permettront de déterminer la technologie Microsoft de création de rapports constituant le meilleur choix pour votre application.

Fonctionnalité

Contrôles ReportViewer

SQL Server Reporting Services

Traitement d'un rapport

Traite les rapports dans l'application cliente (mode local) ou héberge des rapports de serveur qui s'exécutent sur un serveur de rapports SQL ServerReporting Services distant (mode distant).

Traite des rapports sur un serveur de rapports, un service Web de couche intermédiaire qui s'exécute sous Internet Information Services (IIS).

Formats de sortie des rapports

GDI pour des rapports qui s'exécutent dans des applications Windows. HTML pour des rapports qui s'exécutent dans des pages Web ASP.NET.

Les formats d'exportation comprennent Microsoft Excel et PDF.

HTML, MHTML, TIFF, PDF, Excel, CSV et XML.

Il est possible d'écrire des formats de sortie personnalisés.

Fonctions des rapports

Rapports interactifs et statiques pour des données multidimensionnelles, relationnelles et visuelles.

Vous pouvez définir des assemblys personnalisés qui s'exécutent dans le rapport.

Vous pouvez utiliser des expressions pour fournir une mise en forme conditionnelle et des agrégations.

Les fonctions des rapports incluent celles qui sont fournies dans des rapports s'exécutant dans un contrôle ReportViewer, plus la prise en charge de contrôles de rapports personnalisés que vous pouvez créer et exécuter dans un rapport.

Types de sources de données et extraction des données

Traitement côté client :

Établissez une liaison directe à des tables de données ADO.NET et consommez les instances DataTable fournies au contrôle. Vous pouvez également établir un lien direct à des objets métier. Le traitement des données est distinct du traitement des rapports. L'application fournit un ensemble de lignes au rapport. Le contrôle fusionne l'ensemble de lignes dans le rapport et le rend dans un format de sortie.

Traitement côté serveur :

Le rapport contient des données provenant des types de sources de données pris en charge. Le traitement et le rendu des données sont effectués sur le serveur de rapports, puis le rapport est chargé dans le contrôle ReportViewer.

Données intégrées et traitement du rapport sur un serveur de rapports et sur des serveurs de données distants.

Les extensions de traitement de données sur le serveur de rapports déterminent les types de sources de données pris en charge. Les sources de données par défaut comprennent SQL Server, Analysis Services, SQL ServerIntegration Services, Oracle, XML et OLEDB.

Des extensions de traitement de données personnalisées peuvent être créées pour prendre en charge d'autres types de sources de données.

Paramétrage des rapports

Traitement côté client :

La prise en charge intégrée de paramètres de rapport permet la mise en forme conditionnelle et le filtrage du jeu de résultats en fonction d'une valeur statique.

Si vous souhaitez accepter l'entrée par l'utilisateur de paramètres de requête ou de paramètres de rapport au moment de l'exécution, vous devez écrire du code dans votre application pour la prendre en charge.

Contrairement aux rapports Reporting Services, un contrôle ReportViewer qui s'exécute en mode local ne fournit pas de zone d'entrée de paramètres que vous pouvez utiliser pour transmettre des valeurs utilisées lors du traitement des données. Il n'y a pas d'intégration entre le traitement des données et le traitement du rapport dans le contrôle ReportViewer en mode local.

Les paramètres de rapport prennent en charge la mise en forme conditionnelle et peuvent être mappés à des paramètres de requête, offrant ainsi un moyen de transmettre des valeurs de paramètres à une requête au moment de l'exécution. Une zone d'entrée de paramètres est fournie par défaut sur le rapport. Les propriétés des paramètres peuvent être définies au moment de la conception et gérées au moment de l'exécution.

Conception de rapports et intégration à Visual Studio

Créer des fichiers de définition de rapport client (.rdlc) dans Visual Studio. L'ajout d'un modèle de rapport à un projet crée un fichier de définition de rapport, ajoute le fichier à votre projet, puis ouvre un concepteur de rapports intégré dans l'espace de travail de Visual Studio.

Les Assistants Source de données Visual Studio peuvent être utilisés pour fournir des données dans votre application pour une utilisation ultérieure dans le rapport.

Le Concepteur de rapports de Visual Studio ne comprend pas d'onglet Aperçu. Pour afficher un aperçu de votre rapport, exécutez l'application et affichez l'aperçu du rapport qui y est incorporé.

Le Concepteur de rapports Visual Studio s'intègre à la fenêtre Sources de données. Lorsqu'un utilisateur fait glisser un champ de la fenêtre Sources de données sur le rapport, le Concepteur de rapports copie des métadonnées sur la source de données dans le fichier de définition de rapport. Ces métadonnées sont utilisées par le contrôle ReportViewer pour générer automatiquement du code de liaison de données.

Créer des définitions de rapport dans Visual Studio au moyen de Business Intelligence Development Studio. Business Intelligence Development Studio ajoute des modèles de projet spécifiques aux composants SQL Server. Pour créer des rapports, effectuez un choix parmi les modèles Projet Report Server ou Assistant Projet Report Server.

Les onglets Données, Mise en page et Aperçu permettent de définir des données, de créer une mise en page de rapport et d'afficher l'aperçu du rapport dans le même espace de travail.

Déploiement et distribution

Des contrôles et des fichiers .rdlc redistribuables peuvent être inclus dans votre application. Vous pouvez également transmettre une définition de rapport sous la forme d'un flux.

ReportViewer héberge le rapport dans un formulaire ou une page Web d'une application que vous créez et déployez.

La barre d'outils ReportViewer offre des fonctions de navigation entre les pages, d'impression, de recherche, ainsi que des formats d'exportation prenant en charge les opérations au moment de l'exécution.

Déployer un serveur de rapports SQL ServerReporting Services. Les définitions de rapport sont stockées dans une base de données de serveur de rapports, traitées sur un serveur et visualisées dans une application basée sur un navigateur ou une application personnalisée.

Une barre d'outils de rapport offre des fonctions de navigation entre les pages, d'impression, de recherche, ainsi que des formats d'exportation.

Des outils de visualisation et des composants WebPart SharePoint peuvent être utilisés pour visualiser les rapports à la demande.

Les fonctions de distribution incluent une remise des rapports basée sur des abonnements à des adresses de messagerie électronique et dans des partages de fichiers.

Accès Internet

Un contrôle ReportViewer hébergé dans une page Web est recommandé si vous souhaitez créer des rapports disponibles dans une application Web sur Internet.

Vous pouvez inclure le contrôle et des rapports dans une application Web existante, en utilisant l'infrastructure de sécurité prise en charge par votre application.

Vous pouvez configurer un serveur de rapports Reporting Services pour un accès Internet. Selon les besoins de votre application et des utilisateurs, vous devrez éventuellement créer une extension d'authentification personnalisée, modifier les fichiers de configuration et configurer le serveur pour SSL (Secure Sockets Layer). Pour plus d'informations, consultez Planification d'un déploiement extranet ou Internet.

Fonctionnalités de niveau entreprise

Aucune dans le contrôle. Vous pouvez toutefois utiliser le contrôle avec d'autres applications qui fournissent des fonctionnalités d'entreprise.

Les contrôles ReportViewer constituent une solution idéale pour fournir des rapports prédéfinis incorporés dans des applications Windows Forms et des pages Web ASP.NET.

Les contrôles ReportViewer peuvent héberger des rapports contenus dans un déploiement évolutif de serveur de rapports (le déploiement d'un serveur de rapports est transparent pour le contrôle).

Vous pouvez utiliser le contrôle dans des applications personnalisées qui s'exécutent dans n'importe quel modèle de déploiement à haute disponibilité.

Reporting Services prend en charge ces fonctionnalités d'entreprise :

  • Déploiement évolutif.

  • Traitement de rapport programmé et à la demande.

  • Des rapports ad hoc peuvent être créés à la demande pour une utilisation ponctuelle ou enregistrés sur un serveur.

  • Abonnements pilotés par les données qui dirigent une sortie de rapport personnalisée vers une liste dynamique de destinataires.

  • Outils de gestion et de configuration.

Personnalisation

La personnalisation est prise en charge via l'API.

Vous pouvez également définir des propriétés sur des rapports et la barre d'outils ReportViewer pour déterminer la visibilité et la disponibilité des fonctions.

Des extensions peuvent être créées pour ajouter la prise en charge du traitement des données, de la remise de rapports, de l'authentification personnalisée et du rendu des rapports.

Vous pouvez définir des propriétés sur le rapport, la barre d'outils Rapport et le serveur de rapports.

Une personnalisation supplémentaire est prise en charge via une API étendue.

Exemples et procédures pas à pas

Recherchez Exemples et procédures pas à pas dans Visual Studio dans la documentation du produit Visual Studio ou sur MSDN.

Pour plus d'informations sur les exemples et les procédures pas à pas dans Reporting Services, consultez Comment faire pour rechercher des didacticiels.

Documentation

Recherchez Contrôles ReportViewer (Visual Studio) dans la documentation du produit Visual Studio ou sur MSDN.

Reporting Services est présenté dans la documentation en ligne de SQL Server.