begin process at 2012 02 14 21:03:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

General

 > 

comment imprimer une datagrid?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

comment imprimer une datagrid?

lundi 5 février 2007 à 16:50:47 | comment imprimer une datagrid?

angelo2008

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

Merci.
mardi 6 février 2007 à 02:45:26 | Re : comment imprimer une datagrid?

Le cancre

				

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 :

  • un contrôle Button, nommé PrintGrid, dans le formulaire 
  • un contrôle DataGrid nommé DataGrid1 
  • un composant PrintDocument nommé PrintDocument1


mardi 6 février 2007 à 07:56:50 | Re : comment imprimer une datagrid?

angelo2008

Bonjour Mr le cancre,

vous avez recopier le meme exemple que moi je pense

vous avez une idé comment resoudre ce genre de pb svp
c'est tres important pour moi, est ce que vous pouvez m'aidez. :(
mardi 6 février 2007 à 12:47:38 | Re : comment imprimer une datagrid?

fauve

Membre Club
Salut,

Voici la fonction pour imprimer un datagrid (elle imprime tout le contenu du datagrid même ce qui n'est pas visible)

Il suffit juste d'appeler la fonction et de lui envoyer en paramètre ton datagrid

Exemple : si ton datagrid s'appelle DataGrid1, pour l'imprimer tu mets imprimer_datagrid(DataGrid1)

Voici le code :

Sub imprimer_datagrid(ByVal ds As DataGrid)

    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.Worksheet

    xlApp = CType(CreateObject("Excel.Application"), Excel.Application)
    xlBook = CType(xlApp.Workbooks.Add, Excel.Workbook)
    xlSheet = CType(xlBook.Worksheets(1), Excel.Worksheet)

    ' 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(iCol + 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

jeudi 8 février 2007 à 18:13:35 | Re : comment imprimer une datagrid?

angelo2008

merci pour ta reponse mais là j'ai un message d'erreur au niveau de "ds,iCol,DataGrid1" comme koi c une variable inconnu
vendredi 9 février 2007 à 09:22:59 | Re : comment imprimer une datagrid?

fauve

Membre Club
Salut,

       J'avais quelque petit erreur dans la fonction maintenant elle devrait normalement bien fonctionner.


Il suffit juste d'appeler la fonction et de lui envoyer en paramètre ton datagrid

Exemple : si ton datagrid s'appelle DataGrid1, pour l'imprimer tu mets imprimer_datagrid(DataGrid1)

Voici le code :

Sub
imprimer_datagrid(ds As DataGrid)

    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.Worksheet

    xlApp = CType(CreateObject("Excel.Application"), Excel.Application)
    xlBook = CType(xlApp.Workbooks.Add, Excel.Workbook)
    xlSheet = CType(xlBook.Worksheets(1), Excel.Worksheet)

    ' 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 
vendredi 9 février 2007 à 09:25:34 | Re : comment imprimer une datagrid?

angelo2008

ca marche pas.

est ce que vous avez une autre methode svp aidez moi c tres urgent et je suis encore debutant :(
vendredi 9 février 2007 à 09:40:14 | Re : comment imprimer une datagrid?

angelo2008

Merci bien votre code fonction bien mais il ya un petit probleme.

lors de l'imprission et quand j'ai une cellule qui contient toute une phrase (plusieurs carracterre)
la totalité de la cellule n'est pas imprimer.

tu peux m'aider stp à regler ce petit pb. :)
mardi 12 mai 2009 à 00:54:22 | Re : comment imprimer une datagrid?

azzouzmazza

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
lundi 15 mars 2010 à 16:22:40 | Re : comment imprimer une datagrid?

jeremm54

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



Where is a problem!?

Merci infiniment pour votre aide


Cette discussion est classée dans : system, tableau, datagrid, imprimer, totalité


Répondre à ce message

Sujets en rapport avec ce message

comment imprimer une datagrid? [ par angelo2008 ] 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 Imprimer un tableau [ par cheikhtba ] Bonjour tout le monde j'ai  créé un état vb qui m'imprime mes données mais je voulais que les données soient affichées dans un Tableau. C'est à dire j imprimer datagrid [ par Gamaldiouf ] Bonjour je cherche depuis longtemps un code complet pour imprimer un datagrid qui sort tous les données et la grille je ne les pas trouvé dans le foru Datagrid impresion [ par jujujulien ] coucou,y a t'il moyen d'imprimer une datagrid si oui j'aimerais savoir comment j'ai teste quelque code par moi meme et au final je trouve pas le moyen Imprimer un datagrid [ par mimosa803 ] salut tous le monde je souhaite savoir comment imprimer un datagrid ou bien comment tracer un tabeau contenant les informations dans un datareportMerc Problème de position des éléments à imprimer dans un PrintDocument [ par andres06 ] Slt... j ai un prob en vb2005 express . j imprime avec printdocument  et je veux détérminer la positions des éléments à imprimer... mais le prob c est imprimer tableau [ par tanabenezied ] comment je peut crée et imprimer un tableau avec des ligne vertical ?svp je veu le help vite Imprimer contenu datagrid [ par yacoubi25 ] Bonjour ! J'ai un sérieux problème ! je suis en train de créer un petit programme en VB 6 , et en tant que débutant, j'ai trouvé un prob d'impression Pb update base mySql via un datagrid [ par abdoulax ] Bonjour je voudrai ma base sql après avoir remplie mon datagrid. Mais je sais pas trop comment m'y prendre. Voici le code : Imports MySql.DATA.MySqlC


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,200 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales