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
Les plus consultés sur iTPro.fr
- Microsoft Build 2026 : industrialiser l’IA agentique dans les environnements d’entreprise
- IA et souveraineté des données : les entreprises françaises redéfinissent les infrastructures IT
- Temps d’arrêt IT : un coût de 600 milliards de dollars pour les entreprises du Global 2000
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Articles les + lus
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
À la une de la chaîne Tech
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
