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 :

ComboBox avec Builder


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 8
    Par défaut ComboBox avec Builder
    Salut à tous.

    J'ai un petit souci sous builder.

    J'effectue une requete sql et je stocke le resultat dans un myres.
    Je veux afficher les resultats dans une combobox.
    J'utilise la propriétés onchange de la combobox.

    Voici mon code que j'ai pris sur un tuto du site :

    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
     
    void __fastcall TFormAccueil::ComboBoxNbElementsChange(TObject *Sender)
    {
            Requete = "Select Nbjoueurs From equipe";
     
            myRES = MaBase->ExecRequeteSpeciale(Requete);
     
                    for(unsigned int i = 0; i < myRES->row_count; i++) {
     
                            myROW = mysql_fetch_row(myRES);
     
                            for(unsigned int j = 0; j < mysql_num_fields(myRES); j++)
                            {
                                    aStr = myROW[j];
                                    FormAccueil->ComboBoxNbElements->Items->Add(aStr);
                            }
                    }
     
    }
    Lorsque je clique sur la combobox, j'ai bien les résultats de ma requete. Si je selectionne un element de la combobox, et que je deroulle a nouveau le contenu, les elements apparaissent en double, si je clique a nouveau les resultats apparaissent en triple, etc...

    Comment faire pour n'avoir les resultat qu'une seule fois ?
    Est ce que j'utilise la mauvaise propriété de la combobox ?

    Aidez moi !

  2. #2
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut Sarah38000
    Peut etre en utilisant la fonction Clear() avant de reecrire dans la TComboBox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FormAccueil->ComboBoxNbElements->Clear();

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 8
    Par défaut
    Salut
    J'ai essayé cette solution.
    Le problème c'est que si je fais ca, lorsque je selectionne un resultat, il s'efface aussitot a cause du clear.

    Il faut utiliser onchange de la combobox ?

  4. #4
    Membre émérite
    Inscrit en
    Juillet 2005
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Par défaut
    Ce que je trouve bizard c'est de remplir ta combobox sur un de ses evenements.
    Tu ne peux donc pas le faire plus tot ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 8
    Par défaut
    car dans mon programme je vais ajouter supprimer des elements à ma table.
    donc des que je clique sur ma combox j'effectue la requete pour avoir les dernieres mises à jour.

  6. #6
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    C'est sur que si tu met Clear() dans une boucle a chaque fois tu va l'executer il faut le placer avant d'entrer dans la boucle (ou les boucles)

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

Discussions similaires

  1. PB de chargement de combobox avec une requete
    Par bubu1905 dans le forum Bases de données
    Réponses: 9
    Dernier message: 23/03/2005, 16h14
  2. Réponses: 2
    Dernier message: 26/07/2004, 13h34
  3. erreur link avec Builder C++
    Par axxel dans le forum DirectX
    Réponses: 8
    Dernier message: 20/07/2004, 02h58
  4. XML avec Builder
    Par laury dans le forum C++Builder
    Réponses: 4
    Dernier message: 23/06/2004, 13h50
  5. Comment créer une Table dans 1 Bdd ACCESS avec Builder??
    Par makandja dans le forum C++Builder
    Réponses: 6
    Dernier message: 17/03/2004, 20h21

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