La gestion des sous-rapports avec le contrôle ReportViewer comporte deux parties importantes. La première touche à la manière dont le contrôle trouve la définition de n’importe quel sous-rapport référencé par le rapport principal. Pour l’essentiel, le contrôle ReportViewer charge les définitions de sous-rapports au moyen de la même méthode qui
Rendu du sous-rapport
![Rendu du sous-rapport Rendu du sous-rapport](https://www.itpro.fr/wp-content/uploads/2015/04/3132ce7d6c1076b35b10011ff4ac53a0.jpg)
a servi à charger le rapport principal. Lorsque le contrôle ReportViewer lit la définition du rapport dans le système de fichiers dont le chemin est spécifié dans le paramètre ReportPath, il lit également les définitions de sous-rapports à partir du système de fichiers. Lorsque la définition du rapport est chargée au moyen de la méthode LoadReportDefinition, vous devez employer la méthode Load- Subreport Definition afin de charger les définitions pour n’importe quel sous-rapport.
Lorsque le paramètre ReportPath est employé, le contrôle ReportViewer cherche les sous-rapports dans le dossier où il a trouvé le rapport principal. Il utilise le nom de sous-rapport spécifié dans la définition du rapport principal comme nom du fichier de définition du sous-rapport. Il part du principe que l’extension est .rdlc.
Même si vous spécifiez une extension .rdl pour le fichier de rapport principal, le contrôle ReportViewer continuera d’employer une extension .rdlc pour le sous-rapport. Ainsi, pour que le code du sous-rapport fonctionne correctement, vous devez renommer le fichier de définition du sous-rapport de EmployeeAssignments. rdl en EmployeeAssignments. rdlc. La deuxième partie de la gestion des sous-rapports concerne la création des dataset pour ceux-ci. Chaque fois qu’un sous-rapport fait l’objet d’un rendu, vous devez employer l’événement SubreportProcessing du rapport local afin de fournir le code créant les dataset requis pour ce sous-rapport.
Lors du rendu, cet événement se déclenche. Il vous incombe de gérer ce dernier correctement, ce qui nous amène au code situé entre les blocs A et B du listing 2. Ce code attribut une sous-routine servant de gestionnaire d’événements pour l’événement SubreportProcessing. Dans ce cas, la sous-routine est nommée GalacticSubreportProcessingEventHandler. Cette sous-routine obtient d’abord la valeur pour le paramètre EmployeeNumber passé du rapport principal au sous-rapport. Elle emploie ensuite la valeur du paramètre EmployeeNumber pour créer un ensemble de résultats et ajoute ce dernier à la collection de sources de données utilisée par le sous-rapport.
Comme pour le rapport principal, le nom du dataset doit correspondre au nom dans la définition du sous-rapport. Une fois le code requis en place, l’application peut désormais assurer le rendu du rapport et du sous-rapport. Dès qu’un utilisateur sélectionne des entrées dans la zone de liste à cocher et clique sur le bouton Render Report, il obtient des résultats similaires à ceux de la figure 2.
Téléchargez cette ressource
![Guide inmac wstore pour l’équipement IT de l’entreprise](https://www.itpro.fr/wp-content/uploads/2024/04/Guide-inmac-wstore-Juillet-2024.jpg)
Guide inmac wstore pour l’équipement IT de l’entreprise
Découvrez les dernières tendances et solutions IT autour des univers de Poste de travail, Affichage et Collaboration, Impression et Infrastructure, et notre nouveau dossier thématique sur l’éco-conception et les bonnes pratiques à adopter pour réduire votre impact environnemental.