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

 Delphi Discussion :

impression stringGrid sur plusieurs pages


Sujet :

Delphi

  1. #1
    Nouveau membre du Club Avatar de senv33
    Inscrit en
    Janvier 2010
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 53
    Points : 31
    Points
    31
    Par défaut impression stringGrid sur plusieurs pages
    Bonjour,

    J'aimerai imprimer un stringGrid sur plusieurs pages avec si possible les traits du tableau et les couleurs.
    Actuellement, j'ai récupérer ce code qui fonctionne que pour une seule page et qui ne conserve pas les traits du tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    uses Printers;
     
    procedure PrintGrid(sGrid: TStringGrid; sTitle: String);
    var
     X1, X2 : Integer;
     Y1, Y2 : Integer;
     TmpI : Integer;
     F : Integer;
     TR : TRect;
    begin
     Printer.Title:=sTitle;
     Printer.BeginDoc;
     Printer.Canvas.Pen.Color:=0;
     Printer.Canvas.Font.Name:='Times New Roman';
     Printer.Canvas.Font.Size:=12;
     Printer.Canvas.Font.Style:=[fsBold, fsUnderline];
     Printer.Canvas.TextOut(0, 100, Printer.Title);
     For F:=1 to sGrid.ColCount-1 do begin
       X1:=0;
       For TmpI:=1 to (F-1) do
         X1:=X1+5*(sGrid.ColWidths[TmpI]);
       Y1:=300;
       X2:=0;
       For TmpI:=1 to F do
         X2:=X2+5*(sGrid.ColWidths[TmpI]);
       Y2:=450;
       TR:=Rect(X1, Y1, X2-30, Y2);
       Printer.Canvas.Font.Style:=[fsBold];
       Printer.Canvas.Font.Size:=7;
       Printer.Canvas.TextRect(TR, X1+50, 350, sGrid.Cells[F, 0]);
       Printer.Canvas.Font.Style:=[];
       For TmpI:=1 to sGrid.RowCount-1 do begin
         Y1:=150*TmpI+300;
         Y2:=150*(TmpI+1)+300;
         TR:=Rect(X1, Y1, X2-30, Y2);
         Printer.Canvas.TextRect(TR, X1+50, Y1+50, sGrid.Cells[F, TmpI]);
       end;
     end;
     Printer.EndDoc;
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      PrintGrid(StringGrid1, 'Print Stringgrid');
    end;
    Est-il possible de l'adapter ou pouvez-vous m'indiquer comment procéder ?


    Merci d'avance.

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Le mieux serait de passer par un générateur d'état (rave report & Co), si tu as les données dans une stringGrid, il est très facile de les mettre dans un dataset puis de générer un état (qui lui gèrera facilement l'impression)

Discussions similaires

  1. impression fixe sur plusieurs page
    Par kickoune dans le forum Excel
    Réponses: 2
    Dernier message: 17/04/2007, 17h32
  2. Impression d'une page web sur plusieurs pages papier
    Par Spidyy dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/06/2006, 17h42
  3. Pb d'impression sur plusieurs pages d'un JGraph
    Par StephG31 dans le forum 2D
    Réponses: 1
    Dernier message: 15/06/2006, 10h23
  4. [Impression] Impression JPanel sur plusieurs pages
    Par Djulinho dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 02/06/2006, 17h29
  5. impression d'un blob sur plusieurs pages
    Par maamar1979 dans le forum Bases de données
    Réponses: 1
    Dernier message: 28/05/2006, 13h38

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