IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

ComboBox & Databindings


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 154
    Par défaut ComboBox & Databindings
    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

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 154
    Par défaut
    Personne ne s'est jamais retrouvé confronté à ça ?
    Moi qui pensais que s'était un "truc à la con"...

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 374
    Par défaut
    Bonjour,
    Personnelement j'évite la modification dans un combobox.
    Une solution est de placer le combo en DropDownList et lier un textbox au champ(la modification se fait dans le textbox.

Discussions similaires

  1. [Débutant] Combobox et DataBinding
    Par chouchouilloux dans le forum VB.NET
    Réponses: 4
    Dernier message: 03/10/2012, 22h40
  2. Combobox Dropdown Databinding
    Par mohamed301084 dans le forum VB.NET
    Réponses: 1
    Dernier message: 01/07/2012, 13h08
  3. Utilisation des Combobox avec DataBinding ?
    Par mohamed301084 dans le forum VB.NET
    Réponses: 0
    Dernier message: 11/05/2011, 16h37
  4. ComboBox et DataBinding
    Par Tarteens dans le forum Windows Forms
    Réponses: 3
    Dernier message: 19/05/2008, 12h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo