Outre le fait qu’il soit ajouté en tant que contrôle visuel sur un formulaire, ReportViewer peut fonctionner en tant qu’objet instancié dans le code sans présence visuelle. Dans ce cas, le contrôle ReportViewer peut servir au rendu de rapports dans n’importe quel format de rendu pris en charge, notamment les
Dans les coulisses du rendu
formats feuille de calcul (.xls), PDF et XML. Vous pouvez ensuite employer les rapports rendus au sein de l’application ou les écrire vers un fichier. Il est également possible d’assurer le rendu de rapports au format EMF (Enhanced MetaFile) et d’envoyer ces derniers directement à une imprimante.
Vous pouvez même effectuer le rendu sous forme d’image et l’utiliser en tant qu’arrière-plan d’un contrôle ou d’un formulaire. Le listing 3 présente le code qui transforme notre exemple de rapport en image d’arrière-plan. Comme le bloc A du listing 3 le montre, le code utilise une sous-routine pour créer une instance du contrôle ReportViewer, fait pointer la visionneuse vers la définition du rapport, puis fournit le dataset requis.
Bien que ce code soit similaire à celui des listings 1 et 2, le reste du code dans la sous-routine diffère de celui vu jusqu’à présent. Comme le montre le bloc B du listing 3, la sous-routine définit une structure XML nommée deviceInfo. Cette structure fournit les informations (par ex., format de page, taille des marges) nécessaires aux différents formats de rendu. Ensuite, le code se prépare pour la méthode Render, laquelle placera les pages du rapport rendu dans une liste de flux (un flux pour chaque page). Les préparations incluent l’initialisation de la liste de flux vers une liste vide et la mise à disposition d’une fonction callback, destinée à créer un nouveau flux pour chaque nouvelle page. La fonction callback, nommée CreateStream, apparaît à la fin du listing 3.
Une fois les préparatifs nécessaires terminés, la sous-routine appelle enfin la méthode Render. Le premier paramètre de celle-ci spécifie le format de rendu. Comme illustré dans le bloc C du listing 3, le format dans cet exemple est Image. Après l’appel de la méthode, vous pouvez employer les flux comme bon vous semble. Dans ce cas, le premier et seul flux est la première page du rapport Employee List, qui est convertie en image bitmap et affectée à la propriété BackgroundImage du formulaire. La figure 3 affiche le résultat.
Téléchargez cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
- Et si les clients n’avaient plus le choix ?
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Activer la mise en veille prolongée dans Windows 10
- Afficher les icônes cachées dans la barre de notification
Les plus consultés sur iTPro.fr
- Le Zero Trust : pourquoi votre entreprise en a besoin
- Cloud souverain : répondre aux enjeux d’hybridation et de maîtrise des dépendances
- Cybermenaces 2026 : l’IA devient la nouvelle arme des attaquants
- DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
Articles les + lus
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
Adapter la sécurité OT aux réalités de l’industrie
Coder vite, mais coder juste : trouver l’équilibre à l’ère de l’IA
Mixité dans la Tech : en 2026, un choix de souveraineté stratégique
À la une de la chaîne Tech
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
- DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
- Adapter la sécurité OT aux réalités de l’industrie
- Coder vite, mais coder juste : trouver l’équilibre à l’ère de l’IA
- Mixité dans la Tech : en 2026, un choix de souveraineté stratégique
