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

QuickReport Discussion :

Agrandir la taille d'un tableau et la fixer


Sujet :

QuickReport

  1. #1
    Membre régulier Avatar de menoulette
    Inscrit en
    Août 2009
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 320
    Points : 111
    Points
    111
    Par défaut Agrandir la taille d'un tableau et la fixer
    Bonjour ,j'ai des tableaux à générer dynamiquement dans des états de sorties contenant des articles chaque tableau contient un certain nombre d'article pas connu , mon problème c'est que l tableau s'étend en fonction du nombre des articles qui se trouvent dans la partie Détail de mon quickreport y'a til une manière de faire étandre les QRshapes pour qu'elles puissent prendre toute la surface de ma page même si y'a un petit nombre d'article de mon détail ci-joint un document explicatif ! j'ai essayé une méthode mais ca n'a pas marché est bien de convertir mes quickreport en excel mais le résultat n'est pas top du tout !! avez vous une solution ! merci d'avance pour le partage
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Je n'ai pas trop de temps à accorder aujourd'hui ma réponse sera donc brève pour un premier temps at ainsi donner une piste

    il suffit de mettre les shapes en dehors des bandes , c'est à dire directement sur la page
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre régulier Avatar de menoulette
    Inscrit en
    Août 2009
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 320
    Points : 111
    Points
    111
    Par défaut
    je crois que j'ai mal expliqué j'ai trois bandes(détail,sous-détail,et summaryband )
    les qrshapes sont placés dans la bande détail car je récupère le code article depuis un qrdbtext ) et summaryBand contient le total (articles 850) ce que je dois faire et bien d'enlever le (summaryband) et la remplacer par pagefooter le problème quand il n y'a pas beaucoups d'articles y'a le vide entre le détail et le pagefooter !! y'a t-il une façon d'étendre les qrshapes jusqu'à ce qu'elle soit collées avec le pagefooter !!!)

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    J'ai très bien compris ta problématique et je réitère que la solution passe par les shapes posées sur la page et non dans les bandes détails .

    J'ai déjà fait des factures selon ce principe (avec bas de page différents si la facture fait plus d'une page et bien sur pied de facture et même un Entête complet uniquement sur la première page) .

    pour cela j'avais joué sur les évents :

    BeforePrint
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    procedure TForm1.QuickRep1BeforePrint(Sender: TQuickRep;
      var PrintReport: Boolean);
    begin
    //P:=0;
    //RQte:=0;
    //RSomme:=0;
    VShape.Size.Left:=Quickrep1.Page.LeftMargin;
    VShape.Size.Width:=SumShape.Size.Left;
    VShape1.Size.Width:=QuickRep1.Page.Width-Quickrep1.Page.RightMargin-VShape1.Size.Left;
    end;
    StartPage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm1.QuickRep1StartPage(Sender: TQuickRep);
    begin
    Inc(P);
    TopVShape:=QuickRep1.Page.TopMargin;  // position haute des shapes verticales
    EnteteComplet.Frame.DrawTop:=(P<>1);
    if P=1 then EnteteComplet.Height:=194     // Entête complet uniquement sur page 1
           else EnteteComplet.Height:=1;
    end;
    et Beforeprint du pied de page Aligné en bas de page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // Pied de Page ----------------------------------------------------------------
    procedure TForm1.PageFooterBand1BeforePrint(Sender: TQRCustomBand;
      var PrintBand: Boolean);
    var CliHeight : Real;
    begin
    PrintBand:=Pied;
    if PrintBand then   // Proformatage --------------------------------------------
     begin
      CliHeight:=QuickRep1.Page.Length-(QuickRep1.Page.BottomMargin+QuickRep1.Page.TopMargin+VShape1.Size.Top);
      VShape.Size.Height:=CliHeight-12;
      VShape1.Size.Height:=CliHeight-12;
      VShape2.Size.Height:=CliHeight-12;
     end;
    end;
    Note : dans le programme c'est un peu plus complexe que ça mais c'est l'esprit qui compte

    a bien noter , il faut que les shapes (posées sur la page et non dans une bande) soit dessinées en dernier , pour cela il faut les 'envoyer en arrière' (clic droit sur la shape et mettre en arrière plan .

    une preuve par l'image en pièce jointe (les 3 shapes VShape,VShape1,VShape2 de hauteurs variables sont surlignées)
    mes excuses pour les noms , c'était un de mes premiers programmes Delphi 3 qui date de 1999 et est toujours utilisé (plus de 600 factures / mois )!
    Images attachées Images attachées  
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Membre régulier Avatar de menoulette
    Inscrit en
    Août 2009
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 320
    Points : 111
    Points
    111
    Par défaut
    Bonjour merci pour votre réponse et désolée d'avoir tarder pour répondre congé de maladie , Super idée comme tout Merci Sergio je me suis inspirée de votre programme j'ai récupéré la taille de ma page quickreport ainsi que celle du pagefooter une simple soustraction j'ai affecté le résultat à mes QRShape.size.height et hop c'est la magie merciiiiiiiiiiiiiiiiiiiiiiiiiiiiii pour vos idées en or

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

Discussions similaires

  1. [Tableau]comment connaitre la taille d'un tableau à 2 dimensions
    Par Kyti dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 22/04/2005, 10h27
  2. Changer la taille d'un tableau déjà initialisé
    Par totofweb dans le forum C++
    Réponses: 2
    Dernier message: 25/07/2004, 15h55
  3. taille d'un tableau
    Par monstour dans le forum ASP
    Réponses: 3
    Dernier message: 24/06/2004, 15h16
  4. Taille maximum de tableau en Delphi
    Par yannick37 dans le forum Langage
    Réponses: 5
    Dernier message: 03/03/2004, 13h18
  5. qbasic : taille d'un tableau
    Par clood200 dans le forum Basic
    Réponses: 2
    Dernier message: 16/09/2003, 07h26

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