SAP Crystal Reports lance le nouveau Visualiseur Crystal Reports pour WPF avec Visual Studio 2010 gratuit . Dans cet article je vais presenter brievement l’outil SAP Crystal Reports et l’utilisation de ce dernier dans WPF.
Introduction :
SAP Crystal Reports est un outil de generation des rapports ou des états a partir de différents sources de données.
Parmi les données d’entrées :
- Bases de données telles que Sybase , IBM DB2 , Microsoft Access , Microsoft SQL Server, MySQL , Oracle …
- Classeurs Microsoft Excel
- Fichiers texte
- Fichiers HTML XML
- Toutes données accessibles par des liens ODBC, JDBC ou OLAP.
Traditionnellement Crystal Reports a été l’outil de reporting de choix fourni avec VS ; avec VS 2010 inclus le template Crystal Reports mais sans qu’on peut l’utiliser mais on peut obtenir le nouveau « CR for VS 2010 report engine » en le téléchargeant gratuitement depuis le site de SAP ici.
Création d’une application Crystal Reports WPF :
SAP fournit un nouveau control CrystalReportsViewer pour WPF sans l’utilisation de WinFormsHost. pour creer une application Crystal Reports WPF on a deux choix :
– soit on utilise directement le template : Crystal Reports WPF Application.
– sinon si on a déjà créé un projet WPF , on ajoute le control CrystalReportsViewer dans notre page puis on ajoute les references :
SAPBusinessObjects.WPF.Viewer
SAPBusinessObjects.WPF.ViewerShared
CrystalDecisions.CrystalReports.Engine
CrystalDecisions.ReportSource
CrystalDecisions.Shared
on peut permettre a l’utilisateur final certain contrôles de ce rapport tel que l’export de resultat vers differents formats (PDF , DOC , XLS …)
CrystalReport1 est un rapport créé dans un projet. Pour lier ce rapport au Viewer WPF, on utilise la propriété ViewerCore.ReportSource . L’exemple suivant montre le code :
CRViewer.Owner = this;
CrystalReport1 report= new CrystalReport1();
CRViewer.ViewerCore.ReportSource = report;
Liaison d’un Rapport Crystal Reports a une source de données (ex. DataSet Typé) et l’utiliser par code :
pour lier un rapport Crystal Reports a un DataSet Typé on doit tout d’abord créer le DataSet (Add ->New Item.. -> DataSet)
on ajoute des DataTables
puis dans le rapport et avec « Expert Base de Données » on lie le rapport au DataSet
finalement , pour utiliser le rapport dans notre projet WPF on utilise le code :
reportViewer.Owner = this;
DataSet1 dtSet = new DataSet1();
CrystalReport1 report = new CrystalReport1();
report.SetDataSource(dtSet);
reportViewer.ViewerCore.ReportSource = report;
Crystal Reports et Framework 4 (Impossible de charger le fichier ou l’assembly crdb_adoplus.dll ) :
vous pouvez rencontrer ce probleme si vous utilisez .Net Framework 4 : “Could not load file or assembly ‘file:///C:\Program Files\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet1\crdb_adoplus.dll’ or one of its dependencies. The system cannot find the file specified.”
dans ce cas vous devez ajouter le bloque dans votre fichier de configuration App.Config :
<
startup
useLegacyV2RuntimeActivationPolicy
=
"true"
>
<
supportedRuntime
version
=
"v4.0"
/>
</
startup
>
Bonne chance , et bon dev