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

Messages postés
140
Date d'inscription
samedi 5 mars 2011
Statut
Membre
Dernière intervention
13 août 2013
- - Dernière réponse : cs_ShayW
Messages postés
3251
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
16 octobre 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.
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
140
Date d'inscription
samedi 5 mars 2011
Statut
Membre
Dernière intervention
13 août 2013
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 186 internautes nous ont dit merci ce mois-ci

Commenter la réponse de BasicZx81
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
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
Commenter la réponse de ucfoutu
Messages postés
540
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
1 février 2013
1
0
Merci
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
Commenter la réponse de NSUADI
Messages postés
140
Date d'inscription
samedi 5 mars 2011
Statut
Membre
Dernière intervention
13 août 2013
0
Merci
Re, Je vais faire comme ça finalement à moins qu'il existe une meilleure solution...
Commenter la réponse de BasicZx81
Messages postés
3251
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
16 octobre 2019
46
0
Merci
Salut
le nombre d'items dans le combo
ComboBox1.Items.Count
Commenter la réponse de cs_ShayW