problème d'impression datagridview
bonjour à tous!
j'ai (encore) un petit soucis:( j'ai trouvé un code pour imprimer des datagridview: (fonctionne avec une dll de rustemsoft)
Code:
1 2
| Imports RustemSoft.DataGridViewColumns
Imports System.Data |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| Private PrintGrid As DataGridViewPrint
Private Sub btnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
PrintDialog1.Document = PrintDocument1
PageSetupDialog1.Document = PrintDocument1
Dim fpr As New frmPrint()
With fpr
.Title = "Print DataGridView"
.ShowDialog()
If .Result > 0 Then
PrintGrid = New DataGridViewPrint(PrintDocument1, DGV, .bBlackWhite)
PrintGrid.PrintTitle = .bTitle
PrintGrid.Title = .Title
PrintGrid.TitleFont = New Font("Arial", 14, FontStyle.Bold)
' Setup Footer
PrintGrid.PrintFooter = False
PrintGrid.Footer = "DataGridView Footer"
PrintGrid.FooterFont = New Font("Arial", 14, FontStyle.Bold)
PrintGrid.FooterAlignment = HorizontalAlignment.Left
' Setup Page margins and Page size
PrintDocument1.DefaultPageSettings.Margins.Left = 25
PrintDocument1.DefaultPageSettings.Margins.Top = 25
If .PageHeight > 0 And fpr.PageWidth > 0 Then
Dim SizeOfPaper As New System.Drawing.Printing.PaperSize()
SizeOfPaper.Height = .PageHeight
SizeOfPaper.Width = .PageWidth
PrintDocument1.DefaultPageSettings.PaperSize = SizeOfPaper
End If
Select Case .Result
Case 1 ' Print
If PrintDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then PrintDocument1.Print()
Case 2 ' Page Setup
PageSetupDialog1.ShowDialog()
Case 3 ' Preview
' Use DataGridViewPrintPreview class to preview, print, and save Printing Document
Dim DGVPrintPreview As DataGridViewPrintPreview = New DataGridViewPrintPreview(PrintGrid, DGV)
DGVPrintPreview.Document = PrintDocument1
DGVPrintPreview.ShowDialog()
End Select
End If
End With
End Sub
Private Sub printDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
e.HasMorePages = PrintGrid.Print(e.Graphics)
End Sub |
le problème est qu'il n'imprime que les headers des colonnes, je n'arrive pas à imprimer ce qui est dans les colonnes... (dans l'exemple ça fonctionne pourtant)
je sais qu'il y a une classe c# qui normalement marche bien mais je n'arrive pas à la mettre dans mon projet vb.net, je me suis donc tourné vers cette solution... je n'arrive pas à la lancer depuis vb.net
mon datagridview est lié à un dataset...