Vous êtes sur la page 1sur 5

ADO.

NET/Etats

Etapes : 1- Ajout de la source de donnes : DataSet type 2- Cration du rapport 3- Liaison Form/Rapport

Introduction Crystal Reports est l'outil de cration d'tats fourni avec Visual Studio .NET. Nous allons voir comment crer trs simplement un tat aliment par des donnes extraites d'une application .NET et comment afficher l'tat gnr dans une fentre Windows. 1. Fonctionnement d'un tat Avant de se plonger dans le code et la cration d'un tat, nous allons voir quels sont les mcanismes qui entre en jeu lors de la publication d'un tat. Un tat peut-tre considr comme un "template". Ce modle va consommer des donnes brutes et gnrer un rapport qui contiendra les donnes mises en forme. Nous allons extraire des donnes en DotNET et nous en servir comme source de donnes pour notre tat Crystal Reports. Le rapport gnr sera affich dans une fentre windows via un controle winform spcifique pour les rapports Crystal Reports. Un tat Crystal Reports peut consommer plusieurs types de sources de donnes : Dans ce cours nous ne parlerons que d'un seul type de source de donnes : Les dataset ADO.NET. Pourquoi ?

Le dataset ADO.NET est la seule source de donnes compltement indpendante du SGBD. Les donnes d'un dataset ADO.NET peuvent-tre manipules par votre application .NET.

Un dataset ADO.NET est srializable et peut donc facilement tre rcupr par remoting ou via un webservice.

2. Cration du dataset fortement typ Nous allons commencer par crer un dataset fortement typ. Pour que notre tat puisse consommer les donnes de notre dataset celui-ci doit tre fortement typ. En effet, lors de la cration de l'tat il faut bien que Crystal Reports puisse dterminer le nom et le type des champs pour les donnes qui lui serviront gnrer le rapport. C'est le .xsd d'un dataset fortement typ qui contient toutes ces informations. Nous allons utiliser la base "TP1" qui contient la table Employe . Pour crer rapidement un dataset typ avec Visual Studio .NET :

Ajouter un dataset typ au projet : dans l'explorateur de solution => click droit sur le projet => Ajouter => Ajouter un nouvel lment => Dataset. On l'appellera "dataset1.xsd" Crer une nouvelle connexion de donnes dans la fentre "explorateur de serveurs" : clic droit sur connexion de donnes => ajouter une connexion Dans l'explorateur de serveur, dvelopper l'arbre de la connexion la base TP1 => dvelopper Tables => Glisser/Dposer la table "Employe" dans le concepteur de dataset.

3. Cration de l'tat Maintenant que nous avons cr le dataset fortement typ, nous allons construire un tat avec Crystal Reports. Tout d'abord il faut ajouter un tat Crystal Reports au projet. Dans l'explorateur de solution : click droit sur le projet => Ajouter => Ajouter un nouvel lment.

Slectionner "Etat Crystal Reports", on appelera cet tat : "Etat1.rtp". Cocher a partir dun rapport vide .Dans longlet gauche, click droit sur les champs de la BD ,

Dans "donnes du projet", choisissez "ADO.NET Datasets", puis grce au bouton flch, basculez notre DataSet dans le partie "Tables slectionnes". Ensuite pour placer nos donnes sur l'tat, il suffit de raliser une petite action de glisser-dplacer de nos champs "id" , "nom", dans la zone dtails de notre tat, nous obtenons ceci :

Petite prcision sur les diffrentes zones d'un tat :


En-tte de l'tat : tout ce qui sera dans cette zone sera prsent que sur la premire page de l'tat. En-tte de page : tout ce qui sera dans cette zone sera prsent sur chaque pages de l'tat. Dtails : tout ce qui sera dans cette zone se reproduira autant de fois que le nombre de "id" que nous avons obtenu grce notre requte. Pied de page de l'tat : tout ce qui sera dans cette zone sera prsent que sur la premire page de l'tat. Pied de page : tout ce qui sera dans cette zone sera prsent sur chaque pages de l'tat.

4- Visualisation d'un tat dans une application windowsform Maintenant que nous avons notre dataset fortement typ, et notre tat Crystal Reports, voyons comment visualiser et gnrer un rapport. Tout d'abord, ajoutez un controle CrystalReportViewer (onglet Windows Form) votre form1

Le form ci-dessus contient les lments suivants :

Un bouton nomm "btnChargement" dont l'vnement Click nous servira remplir la source de donnes de notre tat et d'afficher ce dernier. Un CrystalReportViewer nomm "crvETAT" qui contiendra notre tat Crystal Report. Dans levenemnet click du bouton, on ajoute le code qui nous permet de passer les donnes du dataset notre crystal report et le visualiser l'aide du viewer.

Dim ds As New DataSet1 Dim da As New SqlDataAdapter("Select * from employe", oCon) da.Fill(ds, "employe") Dim eta As New CrystalReport1 eta.SetDataSource(ds) CrystalReportViewer1.ReportSource = eta CrystalReportViewer1.Refresh() Remarques : - La proprit SetDataSource transmet le dataset au rapport - La proprit ReportSource dfinit le rapport lier avec le viewer