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

C++Builder Discussion :

Probleme avec QuickReport ??


Sujet :

C++Builder

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2003
    Messages : 332
    Points : 146
    Points
    146
    Par défaut [RESOLU] Probleme avec QuickReport ??
    Bonjour,

    Je viens demander de l'aide, car la, je suis completement perdu !!!

    J'ai cree un TQuickReport sur ma form.
    J'ai active a true les bandes suivantes de mon QuickRep1 :
    - HasPageFoot
    - HasPageHeader
    - HasTitle
    - HasDetail

    J'ai positionne des QRLabel sur PageHeader, Title et PageFooter.
    Ensuite dans une procedure, j'inclus des QRLabel et QRMemo dynamiquement dans ma bande DetailBand1 (qui s'est affiche lors du true dans HasDetail de QuickReport).
    J'utilise ce code suivant pour placer mes QRLabel dans la bande DetailBand1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    TQRChildBand *Band = new TQRChildBand(QuickRep1);
      Band = (TQRChildBand *) DetailBand1;
    Label = new TQRLabel(QuickRep1);
    Label->Parent = Band;
    Label->WordWrap = true;
    Label->AutoStretch = true;
    Label->Top = Top;
    Label->Left = 0;
    Label->Caption = aText ;
    et pour passer a la page suivante je fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if (Top > HauteurPage) {
          Band->HasChild = true;
          Band = Bande->ChildBand;
          Band->ForceNewPage = true;
          Top = 0;
        }
    Jusque la mon code marche. Peut etre que ce n'est pas la bonne maniere de proceder, mais je n'ai trouve aucun exemple......

    Donc mon probleme, c'est quand je fais plusieurs preview de mes pages, toutes mes pages s'accumulent du debut....
    Par ex: normallement j'ai 3 pages qui doivent s'imprimer, si je fais 2 preview d'affile, j'ai un total de 6 pages qui s'affichent , avec des pages vierges entre toutes mes pages !! et ainsi de suite.
    Ca fait des heures que je me bat avec ce probleme, et je ne trouve pas de solution....

    Alors comment pourrais-je faire pour re-initialiser mon QuickReport une fois le preview termine ?

    Et surtout si quelqu'un a un bon tut sur ce QuickReport, je serais preneur !!


    J'espere que j'ai ete assez clair dans mon explication

    Merci
    Fred

    Aidez-moi SVP !!!

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    c'est encore moi,oublie ce que j'ai mis avant c'est mieux maintenant!

    alors pour être plus claire normalement ca marche je viens de tester mais moi j'ai pas de texte alors j'ai créer plein de fois un label!
    c'est juste pour te montrer comment moi j'ai fait peut être que c'est pas ce que tu veux, essais quand meme!!
    place un QuickRep et un bouton (tout en haut par exemple), sur Form1, ensuite sur ton quickRep place une QRBand dont la propriété BandType est rbPageHeader, ensuite place une QRSubDetail1 et une autre QRSubDetail2 ainsi qu'un QRband de type rbPageFooter, voila place un label dans QRSubDetail2 avec marqué ce que tu veux (c'est juste pour le voir aprés), met également quelque chose dans ton bas de page et voila ecrit le code suivant et voit si ce que tu obtient peut te convenir ou pas!!
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    __fastcall TForm1::TForm1(TComponent* Owner)
       : TForm(Owner)
    {
    bImprimer=false;
    LabelImprimees=0;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
       TQRLabel *Q;
     
       Q=(TQRLabel*) new TQRLabel(this);
       Q->Parent=QRSubDetail1;
       Q->WordWrap = true;
       Q->AutoStretch = true;
       Q->Top += 70;
       Q->Left = 0;
       Q->Caption = "label créé dynamiquement";
     
     
       bImprimer = false;
       LabelImprimees=0;
     
       QuickRep1->Prepare();
       QuickRep1->QRPrinter->Free();
       QuickRep1->QRPrinter=NULL ;
     
       bImprimer = false;
       LabelImprimees=0;
     
       QuickRep1-> Preview();
     
       bImprimer = false;
       LabelImprimees=0;
     
       delete Q;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::QRSubDetail2NeedData(TObject *Sender,
          bool &MoreData)
    {
    MoreData = ! bImprimer;   
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::QRSubDetail1NeedData(TObject *Sender,
          bool &MoreData)
    {
    MoreData = (LabelImprimees <30);
    LabelImprimees++;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::QRSubDetail2AfterPrint(TQRCustomBand *Sender,
          bool BandPrinted)
    {
    bImprimer=true;
    }
    //---------------------------------------------------------------------------
    n'oublie pas de déclarer dans le point h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    bool bImprimer;
    int LabelImprimees;
    j'espère que cela va t'aider

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2003
    Messages : 332
    Points : 146
    Points
    146
    Par défaut
    Salut,

    Merci pour ton exemple.
    J'ai trouve la solution a mon probleme.
    En fait, je definissais mes bandes statiques.
    J'ai donc cree des QRband dynamiques et un QRSudDetail dynamique, que je supprime avec tous ses composants a l'interieur par un delete apres un preview, donc je me retrouve avec un quickReport vierge, et mon probleme est enfin resolu, apres plusieurs jours de galere !!
    La solution etait en fait tres simple....

    Merci
    Fred

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

Discussions similaires

  1. probleme avec quickreport
    Par salima2010 dans le forum QuickReport
    Réponses: 2
    Dernier message: 21/06/2010, 12h17
  2. Deux probleme avec quickreport
    Par youcef_b_dz dans le forum QuickReport
    Réponses: 1
    Dernier message: 11/06/2009, 08h08
  3. problem avec quickreport
    Par manil dans le forum Débuter
    Réponses: 3
    Dernier message: 27/12/2007, 23h17
  4. probleme avec QuickReport
    Par guirat dans le forum Bases de données
    Réponses: 4
    Dernier message: 04/04/2006, 15h22
  5. problem avec QuickReport
    Par k_boy dans le forum Bases de données
    Réponses: 2
    Dernier message: 27/06/2004, 14h27

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