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

ADO.NET Discussion :

Saisie de texte libre dans un combobox DataBindé [Débutant]


Sujet :

ADO.NET

  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2012
    Messages : 640
    Points : 372
    Points
    372
    Par défaut Saisie de texte libre dans un combobox DataBindé
    Bonjour à tous,
    J'ai un combobox Databindé comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
            Public Liste1() As String = {"Element 01", "Element 02"}
     
            ComboBox1.DataSource = Liste1
            ComboBox1.DropDownStyle = ComboBoxStyle.DropDown
            Bind = New Binding("Text", MainBindingSource, "Champ1", True, DataSourceUpdateMode.Never)
            AddHandler Bind.Format, AddressOf b_format
            AddHandler Bind.Parse, AddressOf b_parse
            ComboBox1.DataBindings.Clear()
            ComboBox1.DataBindings.Add(Bind)
    je peux choisir un element de la liste "Liste1" et l'enregistrer dans ma base mais lorsque je saisie du texte libre dans le comboBox celui-ci n'est pas pris en compte.
    j'aimerais aussi alimenter ma liste lorsque je saisie un nouveau élément qui n'existe pas.

    Savez vous comment faire ?
    Merci beaucoup pour votre aide.

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Saisie de texte libre dans un combobox DataBindé

    Réalisable quoiqu'acrobatique. L'ayant fait pour une DatagridViewComboBoxColumn, j'essaierai de retrouver la technique utilisée dans la soirée.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  3. #3
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Pour une ComboBox, c'est peut-être plus simple (à essayer) :

    • Mettre le DropDownStyle de la ComboBox à ComboBoxStyle.DropDown.
    • Sur l'event Validating, vérifier si le Text de la ComboBox est dans le DataSource et, si ce n'est pas le cas, ajouter un item au DataSource.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  4. #4
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2012
    Messages : 640
    Points : 372
    Points
    372
    Par défaut
    Merci Graffito ca fonctionne très bien.
    Il a juste fallu que je change un paramètre dans le Databinding du contrôle ComboBox à "DataSourceUpdateMode.OnValidation".

    J'ai aussi un autre soucis si je n'abuse pas trop, je voudrais pouvoir supprimer un item en déroulant le Combobox puis en survolant l'item avec la souris et enfin en appuyant sur la touche Suppr.
    Décidément j'ai beaucoup de mal a réaliser cette fonction aussi, j'aimerais beaucoup avoir de l'aide.

  5. #5
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Houla, pas vraiment simple.

    Une solution:

    • gérer l'event DrawItem de la ComboBox afin d'identifier le dernier item en surbrillance (utiliser e.State==DrawItemState.Selected),
    • gérer l'event KeyPress de la ComboBox et supprimer le dernier item en surbrillance si non vide et si on a appuyé sur SUPPR et si comboBox1.DroppedDown est true.
    • gérer l'event TextChanged de la Combo pour remettre à vide le dernier item en surbrillance
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  6. #6
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    Graffito , je me pose quand même la question de savoir si la row sera bien supprimée dans la source Bindée en procédant de la sorte. Mais comme tu dis je vois pas vraiment d'autre solution
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  7. #7
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    savoir si la row sera bien supprimée dans la source Bindée
    Dans l'event keypressed, tu dois exécuter les instructions pour supprimer la row de la source Bindée. Si c'est une DataTable lue d'une DataBase, il faudra faire en sorte que la DataBase sous-jacente soit aussi modifiée.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  8. #8
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    Graffito je vois qu'on est d'accord ;-) Je me disais bien que l'automatisme du DataBinding ne fonctionnerait pas dans ce cas particulier
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  9. #9
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2012
    Messages
    640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2012
    Messages : 640
    Points : 372
    Points
    372
    Par défaut
    Merci a vous pour vos réponses, j'ai pas encore eu le temps de tester mais je le ferait dès que possible.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Zone de saisie de texte formaté dans Swing
    Par mugwump dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 25/09/2012, 06h39
  2. [C#] Autoriser la saisie du texte dans une DropDownList
    Par luimême dans le forum ASP.NET
    Réponses: 4
    Dernier message: 28/06/2006, 13h28
  3. [VB6] Comment faire pour annuler la saisie dans un combobox ??
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 14/06/2006, 15h16
  4. recherche en texte libre dans des champs codés html
    Par boteha dans le forum Requêtes
    Réponses: 9
    Dernier message: 04/12/2005, 22h26
  5. Saisie du texte dans Msgbox
    Par tamyme dans le forum Access
    Réponses: 2
    Dernier message: 11/10/2005, 14h53

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