IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[C#][datagrid] Impression dans un datagrid


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 142
    Points : 53
    Points
    53
    Par défaut [C#][datagrid] Impression dans un datagrid
    Salut,

    Encore un nouveau problème ...

    je travaille toujours avec un datagrid, et je sélectionne un certain nombre de lignes que je souhaiterai imprimer : pour cela j'affiche la boîte de dialogue de l'impression et je fais imprimer la sélection mais ma page imprimée reste blanche.

    Comment faire comprendre à windows que ma sélection de ligne dans mon datagrid doit être interprétée comme sélection windows et du coup pouvoir être imprimé en tant que sélection ???

    Sinon, si ce n'est pas possible comment imprimer ma sélection autrement ??

    merci

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    En passant par un PrintDocument
    fait une petite recherche sur les forums .Net, Faqs et doc MSDN tu trouveras certainement ton bonheur

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 142
    Points : 53
    Points
    53
    Par défaut
    mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    System.Windows.Forms.SendKeys.Send("^(C)");
    this.printDocument.PrintPage += new PrintPageEventHandler( pd_PrintPage );
    this.printDialog.AllowSelection = true;
    this.printDialog.Document = this.printDocument;
    if(printDialog.ShowDialog() == DialogResult.OK)
            printDocument.Print();
     
    void pd_PrintPage( object sender, System.Drawing.Printing.PrintPageEventArgs e )
    {
             ..........			
    }
    ma question : quoi mettre dans la fonction pd_PrintPage pour faire le lien avec ma sélection ???

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Ben tu sembles faire non pas une selection mais un coopier coller donc tes données sont dans le ClipBoard

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 142
    Points : 53
    Points
    53
    Par défaut
    tout à fait, mais comme tu l'imagines pour faire un copier coller, tout ou un certain nombre des lignes doivent être sélectionnées donc çà revient au même ...

    En tout cas çà ne suffit pas pour imprimer ma sélection ... quelqu'un aurait-il une suggestion ?

  6. #6
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    ok
    je te mets sur la piste
    Voici un exemple qui imprime toutes les lignes visibles du Datagrid
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    private void PrintDocument1_PrintPage(Object sender, Printing.PrintPageEventArgs e)
    {
       PaintEventArgs myPaintArgs;
       Rectangle r = new Rectangle(new Point(0, 0), this.Size);
       myPaintArgs = new PaintEventArgs(e.Graphics, r);
       this.InvokePaint(this.DataGrid1, myPaintArgs);
    }
    A toi d'ajuster pour juste les lignes selectionnées en paramétrant plus precisement le PaintEventArgs

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 142
    Points : 53
    Points
    53
    Par défaut
    cool ... merci

    pour ma sélection il faudrait en effet que j'adapte le procédé afin de n'imprimer que ce que j'ai sélectionné. mais si je souhaite imprimer toutes les lignes de mon datagrid, alors ce ne marche plus s'il y en a plus qu'à l'écran puisque qu'il ne peut considérer que ce qui est visible !!

    En fait le souci c'est qu'il fait une capture d'écran qu'il transmet à l'imprimante ... donc il n'y a aucune gestion des lignes sélectionnées ou non ... c'est un print screen ...

    J'avoue que je bloque complet sur ce problème ... si quelqu'un a une idée, je suis preneur !!!!

  8. #8
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    franchement, à moins de developper ton propre contrôle utilisateur DataGrid qui gére une collection des lignes selectionnées (donc chacune visible au moment où elle est sélectionnée) ainsi que la Bitmap dynamique qui en decoule. Je ne vois pas pour l'instant effectivement d'autres pistes
    Désolé

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 142
    Points : 53
    Points
    53
    Par défaut
    c'est pas grave ... au moins je suis fixé ... il va falloir que je m'arrache.

    je vous tiendrais au courant de l'avancement du sujet. Comme çà au moins çà reservira peut être à quelqu'un.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 142
    Points : 53
    Points
    53
    Par défaut
    je crois que je viens de trouver une bidouille :

    copier coller mon texte dans note pad et imprimer depuis note pad ...

    Ca doit être possible ... à suivre

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 142
    Points : 53
    Points
    53
    Par défaut
    en fait j'ai fait tout autrement .... et tout marche enfin ...

    merci à tous @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.NET] Tooltips dans un DataGrid
    Par seemax dans le forum Windows Forms
    Réponses: 9
    Dernier message: 22/04/2004, 15h16
  2. [VB.NET] impression d'un datagrid
    Par behe dans le forum Windows Forms
    Réponses: 3
    Dernier message: 13/01/2004, 10h59
  3. Pb d'update dans une DataGrid
    Par bidson dans le forum XMLRAD
    Réponses: 11
    Dernier message: 27/05/2003, 15h11
  4. [VB.NET] Insérer une colonne de CheckBox dans un DataGrid
    Par Manue.35 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/05/2003, 12h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo