> Tech > Dans les coulisses du rendu

Dans les coulisses du rendu

Tech - Par iTPro - Publié le 24 juin 2010
email

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 gratuitement cette ressource

TOP 5 Modernisation & Sécurité des Postes Clients

TOP 5 Modernisation & Sécurité des Postes Clients

Pour aider les entreprises à allier les restrictions liées à la crise et la nécessaire modernisation de leurs outils pour gagner en réactivité, souplesse et sécurité, DIB-France lance une nouvelle offre « Cloud-In-One » combinant simplement IaaS et DaaS dans le Cloud, de façon augmentée.

Tech - Par iTPro - Publié le 24 juin 2010