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

[Résolu]
Signaler
Messages postés
140
Date d'inscription
samedi 5 mars 2011
Statut
Membre
Dernière intervention
13 août 2013
-
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
-
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

Messages postés
140
Date d'inscription
samedi 5 mars 2011
Statut
Membre
Dernière intervention
13 août 2013

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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
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
Messages postés
540
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
1 février 2013
2
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
Messages postés
140
Date d'inscription
samedi 5 mars 2011
Statut
Membre
Dernière intervention
13 août 2013

Re, Je vais faire comme ça finalement à moins qu'il existe une meilleure solution...
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
52
Salut
le nombre d'items dans le combo
ComboBox1.Items.Count