angelo2008
Messages postés8Date d'inscriptionvendredi 19 janvier 2007StatutMembreDernière intervention14 février 2007
-
5 févr. 2007 à 16:50
jeremm54
Messages postés1Date d'inscriptiondimanche 17 janvier 2010StatutMembreDernière intervention15 mars 2010
-
15 mars 2010 à 16:22
Bonjour,
j'ai une datagrid dans mon application que je veux imprimer, le tableau contient plusieur lignes et colonnes donc j'utilise des assenseur pour voir la totalité tu tableau.
avec ce code:
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim myPaintArgs As New PaintEventArgs(e.Graphics, New Rectangle(New _
Point(0, 0), Me.Size))
Me.InvokePaint(DataGrid10, myPaintArgs)
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
PrintDocument1.Print()
End Sub
//********************
j'ai pu imprimer le tableau mais pas la totalité seulement la partie qui est observable, si je bouge un peux l'assenseur et je l'ance l'imprission cette nouvelle partie que je voix sera imprimer.
Donc mon probleme c que comment je peux imprimer la totalité du tableau
le cancre
Messages postés292Date d'inscriptionmercredi 25 octobre 2006StatutMembreDernière intervention27 novembre 2009 6 févr. 2007 à 02:45
Cet exemple imprime un contrôle DataGrid.
Private Sub PrintGrid_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles PrintGrid.Click
PrintDocument1.Print()
End Sub
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, _
ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles _
PrintDocument1.PrintPage
Dim myPaintArgs As New PaintEventArgs(e.Graphics, New Rectangle(New _
Point(0, 0), Me.Size))
Me.InvokePaint(DataGrid1, myPaintArgs)
End Sub
Cet exemple nécessite :
<li>un contrôle Button, nommé PrintGrid, dans le formulaire </li><li>un contrôle DataGrid nommé DataGrid1 </li><li>un composant PrintDocument nommé PrintDocument1
' ici on compte le nombre de lignes et de colonnes du datatable
Dim nbrLigne As Integer = ds.Tables("da").Rows.Count - 1
Dim nbrColon As Integer = ds.Tables("da").Columns.Count - 1
Dim x, y As Integer
For x = 0 To nbrColon
' ici on prends le titre des colonnes du datatable
xlSheet.Cells(1, x + 1) = ds.Tables("da").Columns(x).ColumnName
' on mets la première ligne en gras
xlSheet.Rows(1).Font.Bold = True
' pour chaque colonne et chaque ligne on transfert les données
vers le fichier excel
For y = 0 To nbrLigne
xlSheet.Cells(y +
3, x + 1) = DataGrid1.Item(y, x)
' ici on compte le nombre de lignes et de colonnes du datatable
Dim nbrLigne As Integer = ds.Tables("da").Rows.Count - 1
Dim nbrColon As Integer = ds.Tables("da").Columns.Count - 1
Dim x, y As Integer
For x = 0 To nbrColon
' ici on prends le titre des colonnes du datatable
xlSheet.Cells(1, x + 1) = ds.Tables("da").Columns(x).ColumnName
' on mets la première ligne en gras
xlSheet.Rows(1).Font.Bold = True
' pour chaque colonne et chaque ligne on transfert les données
vers le fichier excel
For y = 0 To nbrLigne
xlSheet.Cells(y +
3, x + 1) = DataGrid1.Item(y, x)
xlSheet.Cells(y + 3, 4).HorizontalAlignment = 3 ' Centrer horizontalement les cellules
Next
Next
' Paramétrer les marges de la feuille
xlSheet.PageSetup.LeftMargin = 0.393700787401575 ' Marge de gauche
xlSheet.PageSetup.RightMargin = 0.393700787401575 ' Marge de droite
xlSheet.PageSetup.TopMargin = 0.393700787401575 ' Marge du haut
xlSheet.PageSetup.BottomMargin = 0.393700787401575 ' Marge du bas
' Afficher le quadrillage sur la feuille
xlSheet.PageSetup.PrintGridlines = True
' Afficher le tableau de manière centrer horizontalement sur la feuille
xlSheet.PageSetup.CenterHorizontally = True
' Paramétrer la feuille en mode Paysage
xlSheet.PageSetup.Orientation = 2
xlApp.ActiveSheet.printout()' Lancer l'impression
xlApp.Quit() ' Supprime le processus lié à l'impression une fois celle ci terminée
End Sub
N'oubliez pas d'accepter la réponse si elle a réglé votre problème
azzouzmazza
Messages postés3Date d'inscriptionvendredi 25 septembre 2009StatutMembreDernière intervention25 septembre 2009 12 mai 2009 à 00:54
bonjour j'ai trouvé un pblème dans les deux instructions suivantes:
xlApp.ActiveSheet.printout()' Lancer l'impression
xlApp.Quit() ' Supprime le processus lié à l'impression une fois celle ci terminée
jeremm54
Messages postés1Date d'inscriptiondimanche 17 janvier 2010StatutMembreDernière intervention15 mars 2010 15 mars 2010 à 16:22
Bonjour à tous, je suis débutant en VB, je suis sur ce morceau de code depuis quelques heures...
Après avoir résolu quelques soucis je bloque à ce niveau la:
Dim nbrLigne As Integer = ds.Tables("da").Rows.Count - 1
En fait j'ai du mal à comprendre, on passe un DataGrid "ds" mais dans VS2008, cela m'indique que 'Tables' is not a member of System.Windows.Forms.DataGrid