Bonjour,
Voila j'ai un petit problème que je comprends très bien mais pas de solution pour le résoudre.
Je souhaiterais utiliser une ComboBox pour naviguer dans les enregistrements d'une table mais aussi pour éditer le champ. Il faut en qq sorte que la liste ne serve qu'à la navigation et non pas à proposer des valeurs pour le champ... c'est là que le serpent se mort la queue.
Exemple :
J'ai une table PRODUIT avec un champ Libelle, afin d'alimenter la liste déroulante je renseigne le DataSource avec "PRODUITDataBindingSource" et DisplayMember avec "Libelle". Jusque là parfait, quand je clic sur un élément de la liste je me déplace bien sur le bon produit.
Pour pouvoir éditer le libelle via la ComboBox je me dis, il suffit de lier la propriété Texte au champ libelle via mon "PRODUITDataBindingSource" via le DataBindings.
Cela semble fonctionner sauf que quand on clic sur un élément de la liste voici ce qui se passe (supposons que je sois sur le produit "Eau de source" et je veuille aller sur "Soda Orange") :
0. Je clic sur "Soda Orange" dans la liste déroulante
1. Le nom du nouvel article sélectionné est répercuté dans la propriété texte, ce qui entraîne un changement du nom le l'article précédemment sélectionné.
Mon "Eau de source" se retrouve maintenant appelée "Soda Orange"
2. L'élément courrant change et pour se positionner sur ma sélection ("Soda Orange")
Je suis bien positionné sur mon Soda mais il suffit de re-afficher la liste déroulante pour se rendre compte que l'eau a changé de nom et que j'ai deux fois "Soda Orange" dans la liste.
Maintenant je comprends trés bien le comportement du contrôle, et je souhaiterais savoir s'il existe une solution pour pouvoir faire ces deux actions (navigation-edition) dans ce même contrôle ?
Merci de votre aide
Partager