Partager via


Tutoriel : Persistance du modèle d'objet ReportDocument à l'aide de Session

Dans ce tutoriel, vous allez utiliser le modèle d'objet ReportDocument et effectuer des modifications par programmation sur un rapport au moment de l'exécution. Vous apprendrez également à utiliser Session pour garantir la persistance de ces modifications au fur et à mesure du rechargement des pages Web.

Seules les applications Web nécessitant une persistance Session, ce tutoriel ne s'applique pas aux projets Windows.

NoteRemarque 

Pour une présentation de la persistance, voir Quelle méthode de persistance utiliser avec Crystal Reports ? dans la section Principes fondamentaux du SDK.

Introduction

Le projet que vous allez créer dans ce tutoriel utilise un Web Form contenant un contrôle CrystalReportViewer et deux boutons qui modifient l'ordre de tri du rapport dans le modèle d'objet ReportDocument.

Vous allez tout d'abord créer le projet sans la méthode de persistance Session. Sans la persistance, vous pouvez constater que la modification de l'ordre de tri ne dure que le temps d'un événement de clic.

Vous ajouterez ensuite la méthode de persistance Session au projet. L'instance ReportDocument est placée dans Session au moment de la création, ainsi qu'à chaque modification de l'état de cette instance.

Chaque fois que le rapport doit être réaffiché, l'instance ReportDocument est extraite de Session et liée au contrôle CrystalReportViewer. Ceci permet de garantir que chaque fois que le rapport est affiché, l'utilisateur visualise la version la plus récente de l'instance ReportDocument.

NoteRemarque 

Ce tutoriel utilise la méthode Session, car vous allez rendre persistantes les modifications apportées au modèle d'objet ReportDocument. Si vous envisagez d'utiliser uniquement le modèle d'objet limité contenu dans le contrôle CrystalReportViewer, utilisez exclusivement ViewState.

Lors de l'utilisation de Session pour rendre persistant un objet ReportDocument, d'autres modèles de persistance sont-ils utilisés ?

Lors de l'utilisation de Session pour rendre persistant un objet ReportDocument, d'autres modèles de persistance sont-ils utilisés ?

Oui. Dans une application Web ASP.NET, les objets utilisent généralement Session pour la persistance, tandis que les contrôles serveur Web utilisent ViewState. Une application Crystal Reports pour Visual Studio utilisant des objets et des contrôles serveur Web pour interagir avec les rapports, la persistance est partagée par Session et ViewState :

  • Session rend persistant le modèle d'objet ReportDocument, qui interagit par programmation avec le rapport au moment de l'exécution.
  • ViewState rend persistant le contrôle CrystalReportViewer, qui affiche le rapport. Plus particulièrement, ViewState rend persistantes les propriétés affichées, définies dans la barre d'outils de CrystalReportViewer. ViewState rend également persistants les événements (tels que zoom et NextPage) déclenchés à partir des boutons de la barre d'outils.

La persistance de ViewState est gérée automatiquement. Vous ne codez donc que la persistance de Session dans ce tutoriel.

Exemple de code

Ce tutoriel fournit des exemples de code Visual Basic et C# qui illustrent la version terminée du projet. Suivez les instructions de ce tutoriel pour créer un projet ou ouvrez le projet d'exemple de code pour travailler à partir d'une version terminée.

Les exemples de code sont stockés dans des dossiers classés par langue et par type de projet. Les noms des dossiers de chaque version d'exemple de code sont les suivants :

  • Site Web C# : CS_Web_RDObjMod_Session
  • Site Web Visual Basic : VB_Web_RDObjMod_Session

Pour trouver les dossiers contenant ces exemples, voir Répertoire des exemples de code des tutoriels.

Dans cette section :

Voir aussi