> 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

Comment cerner la maturité digitale de votre entreprise ?

Comment cerner la maturité digitale de votre entreprise ?

Conçu pour les directions IT et Métiers, ce guide vous permettra d'évaluer précisément vos processus de communication client, d'identifier vos lacunes et points d'inflexion pour établir un plan d’actions capable de soutenir durablement votre évolution. Bénéficiez maintenant d'une feuille de route complète.

Tech - Par iTPro - Publié le 24 juin 2010