Accueil > > > UTILITAIRE CRYSTAL REPORTS
UTILITAIRE CRYSTAL REPORTS
Information sur la source
Description
CRUtil est une classe qui vous permet d'initialiser et d'afficher rapidement un état Crytal Reports dans votre application .NET. Elle offre également une fonctionnalité pour l'initialisation du texte des champs de formules de l'état.
Source
- 'Remarque: les references suivantes sont necessaires pour compiler cette source :
- '1. CrystalDecisions.Shared
- '2. CrystalDecisions.ReportSource
- '3. CrystalDecisions.Windows.Forms
- '4. CrystalDecisions.CrystalReports.Engine
-
- Imports System.Windows.Forms
- Imports System.Drawing.Printing
-
- Imports CrystalDecisions.Shared
- Imports CrystalDecisions.Windows.Forms
- Imports CrystalDecisions.CrystalReports.Engine
-
-
- ' Permet de charger et d'afficher rapidement un état Crystal Reports
- ' Fourni un moyen d'initialisation facile des champs de formule de l'état
- Public Class CRHelper
- Private m_FileName As String ' Chemin d'accès au fichier RPT à charger
- Private m_DataSource As DataSet ' Source de données de l'état
- Private m_Report As ReportDocument ' Représente l'état Crystal Reports lui-même
-
- ' Constructeur par défaut
- Public Sub New()
- m_Report = New ReportDocument
- End Sub
-
- ' Constructeur qui charge l'état et ses données
- Public Sub New(ByVal fileName As String, ByVal dataSource As DataSet)
- m_Report = New ReportDocument
- Me.FileName = fileName
- Me.DataSource = dataSource
- End Sub
-
- ' Accesseur pour le chemin d'accès au fichier RPT
- Public Property FileName() As String
- Get
- Return m_FileName
- End Get
- Set(ByVal Value As String)
- m_FileName = Value
- m_Report.Load(Value)
- End Set
- End Property
-
- ' Accesseur pour la source de données de l'état
- Public Property DataSource() As DataSet
- Get
- Return m_DataSource
- End Get
- Set(ByVal Value As DataSet)
- m_DataSource = Value
- m_Report.SetDataSource(Value)
- End Set
- End Property
-
- ' Accesseur pour l'objet état Crystal Reports
- Public ReadOnly Property Report() As ReportDocument
- Get
- Return m_Report
- End Get
- End Property
-
- ' Accesseur pour le texte des champs de formule de l'état
- Public Property FormulaText(ByVal Index As Integer) As Object
- Get
- Return m_Report.DataDefinition.FormulaFields(Index).Text
- End Get
- Set(ByVal Value As Object)
- m_Report.DataDefinition.FormulaFields(Index).Text = Value
- End Set
- End Property
-
- ' Accesseur pour le texte des champs de formule de l'état
- Public Property FormulaText(ByVal Name As String) As Object
- Get
- Return m_Report.DataDefinition.FormulaFields(Name).Text
- End Get
- Set(ByVal Value As Object)
- m_Report.DataDefinition.FormulaFields(Name).Text = Value
- End Set
- End Property
-
- ' Affiche un aperçu avant impression de l'état
- Public Sub PrintPreview(ByVal owner As Form)
- Dim CRViewer As New CrystalReportViewer
- With CRViewer
- .DisplayGroupTree = False
- .Dock = DockStyle.Fill
- .ReportSource = m_Report
- .Zoom(2)
- End With
-
- Dim fViewer As New Form
- With fViewer
- Select Case m_Report.PrintOptions.PaperOrientation
- Case PaperOrientation.Landscape
- .Size = New Size(600, 450)
- Case Else
- .Size = New Size(400, 600)
- End Select
-
- .Text = "Aperçu avant impression"
- .StartPosition = FormStartPosition.CenterParent
- .Controls.Add(CRViewer)
-
- .ShowDialog(owner)
- .Dispose()
- End With
- End Sub
-
- ' Provoque l'impression directe de l'état
- Public Sub Print(ByVal printSettings As PrinterSettings)
- Dim copies As Integer = 1
- Dim collated As Boolean
- Dim startPage, lastPage As Integer
-
- If Not Nothing Is printSettings Then
- copies = printSettings.Copies
- collated = printSettings.Collate
- startPage = printSettings.FromPage
- lastPage = printSettings.ToPage
- m_Report.PrintOptions.PrinterName = printSettings.PrinterName
- End If
-
- m_Report.PrintToPrinter(copies, collated, startPage, lastPage)
- End Sub
- End Class
-
-
- ' Démonstration
- Module Demo
- Const CONSTR As String = "Server=(local);Integrated Security=SSPI;Persist Security Info=false;Database=Northwind"
-
- Sub Main()
- Dim CRH As New CRHelper
-
- Dim dsEmp As New DataSet("Employees")
- Dim conNWind As New SqlClient.SqlConnection(CONSTR)
- Dim daEmp As New SqlClient.SqlDataAdapter("SELECT * FROM Employees", conNWind)
-
- Try
- daEmp.Fill(dsEmp, "Employees")
- With CRH
- .FileName = "..\Employees.rpt"
- .DataSource = dsEmp
-
- .FormulaText("EnteteGauche1") = "'Ma Société'"
- .FormulaText("EnteteGauche2") = "'Ma Direction'"
- .FormulaText("EnteteGauche3") = "'Mon Service'"
- .FormulaText("EnteteGauche4") = "'N''Importe Quoi D''Autre'"
- .FormulaText("Titre") = "'Liste des employés de Northwind'"
-
- .PrintPreview(Nothing)
- End With
- Catch ex As Exception
- MessageBox.Show(ex.Message, ex.Source, MessageBoxButtons.OK, MessageBoxIcon.Error)
- End Try
- End Sub
- End Module
'Remarque: les references suivantes sont necessaires pour compiler cette source :
'1. CrystalDecisions.Shared
'2. CrystalDecisions.ReportSource
'3. CrystalDecisions.Windows.Forms
'4. CrystalDecisions.CrystalReports.Engine
Imports System.Windows.Forms
Imports System.Drawing.Printing
Imports CrystalDecisions.Shared
Imports CrystalDecisions.Windows.Forms
Imports CrystalDecisions.CrystalReports.Engine
' Permet de charger et d'afficher rapidement un état Crystal Reports
' Fourni un moyen d'initialisation facile des champs de formule de l'état
Public Class CRHelper
Private m_FileName As String ' Chemin d'accès au fichier RPT à charger
Private m_DataSource As DataSet ' Source de données de l'état
Private m_Report As ReportDocument ' Représente l'état Crystal Reports lui-même
' Constructeur par défaut
Public Sub New()
m_Report = New ReportDocument
End Sub
' Constructeur qui charge l'état et ses données
Public Sub New(ByVal fileName As String, ByVal dataSource As DataSet)
m_Report = New ReportDocument
Me.FileName = fileName
Me.DataSource = dataSource
End Sub
' Accesseur pour le chemin d'accès au fichier RPT
Public Property FileName() As String
Get
Return m_FileName
End Get
Set(ByVal Value As String)
m_FileName = Value
m_Report.Load(Value)
End Set
End Property
' Accesseur pour la source de données de l'état
Public Property DataSource() As DataSet
Get
Return m_DataSource
End Get
Set(ByVal Value As DataSet)
m_DataSource = Value
m_Report.SetDataSource(Value)
End Set
End Property
' Accesseur pour l'objet état Crystal Reports
Public ReadOnly Property Report() As ReportDocument
Get
Return m_Report
End Get
End Property
' Accesseur pour le texte des champs de formule de l'état
Public Property FormulaText(ByVal Index As Integer) As Object
Get
Return m_Report.DataDefinition.FormulaFields(Index).Text
End Get
Set(ByVal Value As Object)
m_Report.DataDefinition.FormulaFields(Index).Text = Value
End Set
End Property
' Accesseur pour le texte des champs de formule de l'état
Public Property FormulaText(ByVal Name As String) As Object
Get
Return m_Report.DataDefinition.FormulaFields(Name).Text
End Get
Set(ByVal Value As Object)
m_Report.DataDefinition.FormulaFields(Name).Text = Value
End Set
End Property
' Affiche un aperçu avant impression de l'état
Public Sub PrintPreview(ByVal owner As Form)
Dim CRViewer As New CrystalReportViewer
With CRViewer
.DisplayGroupTree = False
.Dock = DockStyle.Fill
.ReportSource = m_Report
.Zoom(2)
End With
Dim fViewer As New Form
With fViewer
Select Case m_Report.PrintOptions.PaperOrientation
Case PaperOrientation.Landscape
.Size = New Size(600, 450)
Case Else
.Size = New Size(400, 600)
End Select
.Text = "Aperçu avant impression"
.StartPosition = FormStartPosition.CenterParent
.Controls.Add(CRViewer)
.ShowDialog(owner)
.Dispose()
End With
End Sub
' Provoque l'impression directe de l'état
Public Sub Print(ByVal printSettings As PrinterSettings)
Dim copies As Integer = 1
Dim collated As Boolean
Dim startPage, lastPage As Integer
If Not Nothing Is printSettings Then
copies = printSettings.Copies
collated = printSettings.Collate
startPage = printSettings.FromPage
lastPage = printSettings.ToPage
m_Report.PrintOptions.PrinterName = printSettings.PrinterName
End If
m_Report.PrintToPrinter(copies, collated, startPage, lastPage)
End Sub
End Class
' Démonstration
Module Demo
Const CONSTR As String = "Server=(local);Integrated Security=SSPI;Persist Security Info=false;Database=Northwind"
Sub Main()
Dim CRH As New CRHelper
Dim dsEmp As New DataSet("Employees")
Dim conNWind As New SqlClient.SqlConnection(CONSTR)
Dim daEmp As New SqlClient.SqlDataAdapter("SELECT * FROM Employees", conNWind)
Try
daEmp.Fill(dsEmp, "Employees")
With CRH
.FileName = "..\Employees.rpt"
.DataSource = dsEmp
.FormulaText("EnteteGauche1") = "'Ma Société'"
.FormulaText("EnteteGauche2") = "'Ma Direction'"
.FormulaText("EnteteGauche3") = "'Mon Service'"
.FormulaText("EnteteGauche4") = "'N''Importe Quoi D''Autre'"
.FormulaText("Titre") = "'Liste des employés de Northwind'"
.PrintPreview(Nothing)
End With
Catch ex As Exception
MessageBox.Show(ex.Message, ex.Source, MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
End Module
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Crystal Reports [ par nico ]
J'ai un état Crystal reports que je lance plusieurs fois (dans une boucle) avec réactualisation de la base de donnée à chaque tour. Le problème c'est
Crystal reports [ par henri ]
est ce que tu pourrais me dire comment modifier le chemin d'une base de donnees, par code dans une fenetre sous visual basic, d'un etat crystal report
emaquetage et crystal reports [ par amri2 ]
j'ai développé une application qui utilise crystal reports, le pb est que lorque je crée l'install avec l'assistant d'empaquetage, l'éxecution de l'ap
crystal reports [ par lapapana ]
Est ce que qq peut me dire comment afficher des données relatives à deux tables d'une bd dans une feuille de crystal reports:table1:-----------table2-
Afficher un rapport Crystal Reports [ par inisis ]
Bonjour,J'ai créé un rapport sous Crystal Reports 8, maintenant je voudrais l'afficher à partir de VB6. Je ne vois pas comment faire car j'ai essayé d
Visual Basic et Seagate Crystal Reports [ par ataeallah ]
bonjour,j'ai deux petit problèmes:1- je veux savoir comment affiche le contenu du MSHFLEXGRID dans un etat de crystal report.2- je filtre l'etat avec
crystal reports [ par olivier ]
qu'elle dll faut t'il reditribuer pour faire marcher crystal reports 8 et 8.5 merci car j'ai un programme vb avec crviewer et ca marche meme pas quand
crystal reports et section [ par olivier ]
comment changer les section de crystal reports pour qu'elles soit à l'horizontale au lieu de la verticale au lieu de 123faire 1 2 3 merci de votre aid
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
LISTER KEYS.KEYLISTER KEYS.KEY par Onin42
Cliquez pour lire la suite par Onin42
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|