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

Bases de données Delphi Discussion :

probleme avec le PageControl


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 121
    Par défaut probleme avec le PageControl
    Bonjour à tous!
    voici , j'ai un probleme avec mon composant PageControl.
    Mon composant PageControl a trois feuilles (Tabsheet) et à côté de ce composant, j'ai trois composant TDBChart ; chaque TBDChart donne un graphique selon que l'onglet du PageControl change . J'ai supperposé les TDBChart les uns sur les autres.
    - Dans le premier onglet , je calcule les recettes et j'affiche le graphique des recettes dans un TBDChart.
    - Dans le second onglet , je calcule les entrees de caisse et j'affiche aussi le graphique correspondant
    - dans les troisième onglet , je calcule les sorties et j'affiche le graphique .
    ce qui dit , lorsque je passe d'un onglet à l'autre , je voudrais voir le graphique correspondant.

    au prealable, j'ai mis dans l'evenement OnShow de la form TDBChart des recettes à visible = true et les autres à visible = false afin de voir lorsque la feuille s'ouvre les recettes et le graphique.

    mais j'ai fait ceci ensuite:
    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
    procedure TStatistiqueForm.PageControl1Change(Sender: TObject);
    begin
       if Pagecontrol1.ActivePage = Tabsheet1 then
       begin
        ChartRecette.Visible:=True;
       end;
     
       if Pagecontrol1.ActivePage = Tabsheet2 then
       begin
        ChartEntree.Visible:=True;
       end;
     
      if Pagecontrol1.ActivePage = Tabsheet3 then
       begin
        ChartSortie.Visible:=True;
       end;
    end;
    lorsque j'execute ce code, lorsque je passe d'un onglet à l'autre, ça marche; mais lorsque je reviens sur un onglet que j'ai deja vu et que je voudrais de nouveau voir , le TDBChart ne change pas, il reste sur le dernier TDBChart vu.
    je ne sais comment pallier à cela.
    Merci de votre aide.

  2. #2
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Par défaut

    la solution va te faire sourire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    procedure TStatistiqueForm.PageControl1Change(Sender: TObject);
    begin
       //cacher tous les charts
       ChartRecette.Visible:=False;
       ChartEntree.Visible:=False;
       ChartSortie.Visible:=False;
       //afficher uniquement le chart adéquat
       if Pagecontrol1.ActivePage = Tabsheet1 then
        ChartRecette.Visible:=True
       else if Pagecontrol1.ActivePage = Tabsheet2 then
        ChartEntree.Visible:=True
       else 
        ChartSortie.Visible:=True;
    end;
    ou encore, en supposant que Tabsheet1,2 et 3 ont respectivement pour index de page 0, 1 et 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    procedure TStatistiqueForm.PageControl1Change(Sender: TObject);
    begin
       //cacher tous les charts
       ChartRecette.Visible:=False;
       ChartEntree.Visible:=False;
       ChartSortie.Visible:=False;
       //afficher uniquement le chart adéquat
       case Pagecontrol1.ActivePageIndex of
         0: ChartRecette.Visible:=True
         1: ChartEntree.Visible:=True
         2: ChartSortie.Visible:=True;
       end;
    end;
    voilà, tu comprends à présent pourquoi ça ne marche pas.

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 107
    Par défaut
    Je croie que c'est juste un problème de rafrechissment vous devez alors essayé de mêtre la propriété AutoRfresh=True;

  4. #4
    Membre éclairé Avatar de aliwassem
    Inscrit en
    Janvier 2004
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 293
    Par défaut


    qu'est ce que je pense comme ProgD il faut desactiver le TBDChart et l'activer ou le Table qui le connect , ou un refrech.

  5. #5
    Membre éclairé Avatar de aliwassem
    Inscrit en
    Janvier 2004
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 293
    Par défaut
    Desole..............

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 121
    Par défaut
    Merci pour votre aide à tous!
    j'ai essayé le code d'evarisnea , mais il ne me donne que le premier TDBChart, et je crois que c'est parce que dans l'evenement OnShow de la form , j'ai mis ChartRecette.Visible:=True; et les autres à visible=false;
    ce qui dit , lorsque je lance mon application , il se trouve par defaut sur ChartRecette, mais lorsque je change d'onglet , il y a rien , même pas un Chart, et lorsque je reviens sur le premier onglet , je vois le ChartRecette.
    j'ai même mis les propriétés AutoRefresh de ces TDBChart à true dans l'evenement Onchange du PageControl, mais toujours rien qui marche normalement.
    Merci pour votre aide.

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

Discussions similaires

  1. probleme avec l'objet PageControl
    Par tchimou dans le forum Bases de données
    Réponses: 4
    Dernier message: 19/04/2007, 12h06
  2. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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