Probleme Combobox SelectedIndex = -1 ne fonctionne pas toujours
senpiet
Messages postés15Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention10 mars 2005
-
7 mars 2005 à 20:36
motardazerty
Messages postés37Date d'inscriptionlundi 11 décembre 2000StatutMembreDernière intervention 4 novembre 2010
-
4 nov. 2010 à 13:43
Bonjour a tous,
J'ai deja parcouru la liste, le web, etc et ai trouve quand-meme bcp de gens ayant le meme probleme que moi mais aucune reelle solution. Sans doute, qqn a-t-il maintenant une idee de ceci:
J'ai un code VB dans lequel j'instancie une combobox avec un datasource, datamember et datavalue. Lorsque ce data source doit afficher un champ rempli d'un enregistrement qui existe dans ma db, c'est ok. Par contre, si le champ de l'enregistrement est vide, je fais
cmb.selectedindex = -1.
A ce moment, le premier element de la liste est selectionne, au lieu de rien du tout... Impossible de lui dire de ne rien selectionner.
Quelqu'un sait-t-il comment faire ?
Sinon deux autres solutions:
Je peux remplir ma combo a la main (en parcourant la table de donnees). Mais je ne sais pas comment dire "affiche cette valeur (ex. Nom) mais retient celle-ci (ex. Row_id) pour la stocker ailleurs"... bref une sorte de liste multi-valeurs...
OU
Ajouter une ligne vide AVANT de lier un datasource... genre:
cmb.items.add("vide")
cmb.DataSource = table1
Merci d'avance a tous ceux qui prendront deja le temps de reflechir au probleme
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201578 7 mars 2005 à 21:19
Normal, SelectedIndex te renverra -1 si rien n'est sélectionné (je ne savais même pas qu'on pouvait l'écrire !).
Pour tout désélectionner, il suffit peut-être de faire une boucle de tous les items et de les mettre à
Item(x).Selected = False
(à vérifier)
Vala
Jack
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
senpiet
Messages postés15Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention10 mars 2005 10 mars 2005 à 13:37
Merci beaucoup jack.
Malheureusement ce n'est pas une solution qui a fonctionne pour moi. Ce probleme est donc vraiment assez profond.
Le comportement est meme assez etrange car, j'ai des boutons de navigation qui me permettent de parcourir des enregistrements d'une table. Pour chaque enregistrement j'ai ce fameux probleme avec mes combobox mais, si j'essaie d'atteindre un enregistrement qui n'existe pas (typiquement avant le premier ou apres le dernier), alors les combos sont correctement rafraichies avec les infos (impossible d'atteindre un nouveau record donc on reste sur le meme, mais on le rafraichit)... a n'y rien comprendre.
J'ai l'impression qu'en rafraichissant deux fois un record c'est ok... a tester. Quelqu'un a-t-il une idee geniale ?
motardazerty
Messages postés37Date d'inscriptionlundi 11 décembre 2000StatutMembreDernière intervention 4 novembre 2010 4 nov. 2010 à 13:43
Bon le sujet date d'Erode mais moi pour pus qu'il me mette -1, j'ai fais un truc tout bête, lors de la création de la fenêtre et des objets, j'ai tout simplement mis: