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

Windows Forms Discussion :

Combo déroulée dans DataGridView


Sujet :

Windows Forms

  1. #1
    Membre habitué Avatar de kimausoleil
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2004
    Messages : 126
    Points : 135
    Points
    135
    Par défaut Combo déroulée dans DataGridView
    Bonjour !

    J'ai un DataGridView dans lequel j'ai 3 colonnes DataGridViewComboBoxColumn.

    Tout s'affiche et s'enregistre correctement par le bien de mon dataset et dataadaptateur.



    Mon problème est que un utilisateur clique 3 fois dans la cellule pour dérouler la combobox :
    • 1er clic pour le focus sur la cellule
    • 2è clic, la combo devient l'élément à éditer
    • 3è clic, la combo se déroule enfin !


    Donc le 1er clic, c'est normal ! Mais je voudrais qu'au 2è clic la combo se déroule !



    J'ai bien essayé de le faire ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        Private Sub dgv_EditingControlShowing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles dgv.EditingControlShowing
            If TypeOf e.Control Is DataGridViewComboBoxEditingControl Then
                Dim cbo As DataGridViewComboBoxEditingControl
                cbo = DirectCast(e.Control, DataGridViewComboBoxEditingControl)
                cbo.DroppedDown = True
            End If
        End Sub
    et là la combo se déroule sur la précédente avec les valeurs de celle sélectionnée !!!

    Sacré bug !

    Y-a-til un moyen de faire ?
    Merci

  2. #2
    Membre habitué Avatar de kimausoleil
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2004
    Messages : 126
    Points : 135
    Points
    135
    Par défaut
    Bon et bien j'ai trouvé tout seul... ça faisait 2 jours que je cherchais, et il faut que je poste pour avoir une idée après

    Voici la solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
        Private Sub dgv_EditingControlShowing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles dgv.EditingControlShowing
            If TypeOf e.Control Is DataGridViewComboBoxEditingControl Then
                Dim cbo As DataGridViewComboBoxEditingControl
                cbo = DirectCast(e.Control, DataGridViewComboBoxEditingControl)
                AddHandler cbo.GotFocus, AddressOf DropCombo
            End If
        End Sub
     
        Private Sub DropCombo(ByVal sender As Object, ByVal e As System.EventArgs)
            If TypeOf sender Is DataGridViewComboBoxEditingControl Then
                Dim cbo As DataGridViewComboBoxEditingControl
                cbo = DirectCast(sender, DataGridViewComboBoxEditingControl)
                cbo.DroppedDown = True
            End If
        End Sub

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    Il me semble qu'il y a une magouille plus simple qui consiste à simuler la touche F4 (celle qui permet de dérouler la liste) lors du click sur la cellule.

    Mais j'arrive un peu tard...

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

Discussions similaires

  1. Autocomplete mode dans datagridview combo
    Par olibara dans le forum Windows Forms
    Réponses: 0
    Dernier message: 21/08/2009, 18h58
  2. Réponses: 1
    Dernier message: 25/03/2008, 12h09
  3. des combos differentes dans une meme colonne d'une Jtable
    Par mickael.guilbert dans le forum Composants
    Réponses: 2
    Dernier message: 13/05/2006, 11h31
  4. [JTable][JComboBox] rendre un combo box dans un Jtable
    Par bigbabou dans le forum Composants
    Réponses: 23
    Dernier message: 19/02/2006, 06h55
  5. Réponses: 11
    Dernier message: 24/01/2006, 10h20

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