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

  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)

  7. #7
    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
    Je l'avais plac� � la premi�re ligne

  8. #8
    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
    J'ai fais un essai ca marche il faut juste repositionner l'ItemIndex a " 1 " apres avoir rempli le TComboBox, sinon la premiere ligne affichee est vide
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    void __fastcall TForm1::Button4Click(TObject *Sender)
    {
    ComboBox1->Items->Add("toto");
    ComboBox1->Items->Add("titi");
    ComboBox1->ItemIndex = 1;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button5Click(TObject *Sender)
    {
    ComboBox1->Clear();
    }

  9. #9
    Membre �m�rite
    Inscrit en
    Juillet 2005
    Messages
    512
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Par d�faut
    J'utilise la propri�t�s onchange de la combobox.
    L'evenement onChange n'est pas un bon choix car a chaque que tu selectionne un item �a reinitialise la liste d'item.

    L'evenement onDropDown serait plus appropri�

  10. #10
    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
    Merci � tous les deux pour votre aide !

    Ca fonctionne !


+ 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