Comment savoir si la valeur Text correspond à une entrée dans la liste d'un Comb

Résolu
BasicZx81 Messages postés 140 Date d'inscription samedi 5 mars 2011 Statut Membre Dernière intervention 13 août 2013 - 8 févr. 2012 à 20:53
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - 8 févr. 2012 à 22:13
Bonsoir à tous,
j'ai encore un petit soucis avec un Combobox, il est paramétré pour que l'on ne puisse pas entrer autre chose que ce qu'il y a dans la liste avec ComboBoxStyle.DropDownList.
Le problème c'est que dans mon code il peux arriver que j'affecte une valeur à la propriété "Text" bien que celle-ci n'existe pas dans la liste. Dans ce cas le combobox reste sur l'item qui était precedement sélectionné.
J'aimerais éviter ça et la seule solution que j'ai trouvé est d'affecter la valeur Nothing à la propriété Text pour ainsi effacer toutes valeurs affichées. Oui mais comment savoir si la valeur que je tente d'affecter se trouve dans la liste ou pas ?
J'imaginé une propriété du style Combobox.match = True mais ça n'existe pas.
Vous avez un solution pour éviter de parcourir toutes la liste à chaque fois pour la comparer avec l'entrée ?

Je peux avoir le cas avec des contrôles DataBindé et non DataBindé.

Merci beaucoup pour votre aide.

5 réponses

BasicZx81 Messages postés 140 Date d'inscription samedi 5 mars 2011 Statut Membre Dernière intervention 13 août 2013
8 févr. 2012 à 21:48
Bonjour ucfoutu et NSUADI,
C'est vrai que je pourrait parcourir la liste mais la longueur de celle-ci n'est pas connu au départ puisque qu'elle est alimentée par une base de donnée , elle même alimenté par plusieurs utilisateurs donc j'essaye de faire autrement.
Sinon j'ai trouvé une solution, mais il y a peut-être mieux. Ca marche bien avec mes contrôles non DataBindé mais j'ai un peu plus de mal avec mes contrôles DataBindé puisque ça m'oblige à revoir ma gestion des evenements juste pour ça.
Voici ce que j'ai trouvé :
1- J'ecrits dans mon Combobox :
ComboBoxCHEFPROJET.Text = strCHEFDEPROJET

2- Si la valeur affiché est differente de celle que je lui est donné c'est que la valeur n'existe pas dans la liste :
If ComboBoxCHEFPROJET.Text <> strCHEFDEPROJET Then ComboBoxCHEFPROJET.Text = Nothing
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
8 févr. 2012 à 20:57
Bonjour,
Il te faut soit parcourir tous les items de ta combo (en boucle, donc) pour y vérifier cette existence éventuelle,
soit utiliser le moteur de recherche de ce forum avec les mots Combobox saisie semi-automatique.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
NSUADI Messages postés 540 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 1 février 2013 2
8 févr. 2012 à 21:32
Salut,
Mais pourquoi donc tu veux éviter de parcourir la liste des éléments de la combo afin de vérifier une éventuelle correspondance??

Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...

Visual Basic .Net is the best
and vb6.0
0
BasicZx81 Messages postés 140 Date d'inscription samedi 5 mars 2011 Statut Membre Dernière intervention 13 août 2013
8 févr. 2012 à 21:53
Re, Je vais faire comme ça finalement à moins qu'il existe une meilleure solution...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
8 févr. 2012 à 22:13
Salut
le nombre d'items dans le combo
ComboBox1.Items.Count
0
Rejoignez-nous