Alimenter un combobox à partir d'un datagridview

Messages postés
463
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
29 octobre 2019
- - Dernière réponse : julia Namor
Messages postés
463
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
29 octobre 2019
- 22 sept. 2018 à 21:34
Bonjour,
Dans un projet avec visual basic , j'ai crée un datagridview avec une seule colonne que j'alimente avec un combobox
je souhaiterais que lorsque j’ouvre la Form , le combobox s'alimente automatiquement avec les valeurs du datagrid et que je ne puisse pas entrer une valeur déjà excitante dans le datagrid.
Merci de votre précieuse aide
Cordialement
Afficher la suite 

2 réponses

Messages postés
6421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
5 décembre 2019
91
0
Merci
Bonjour,

comme ceci pour l'ouverture:

 Dim mavaleur As String
        For ligne As Integer = 0 To Me.DataGridView1.Rows.Count - 1 'tu parcours les lignes de la DataGridView1
            mavaleur = CStr(Me.DataGridView1.Rows(ligne).Cells(0).Value) 'mavaleur contient maintenant la valeur de la première colonne
            ComboBox1.Items.Add(mavaleur)
            ligne = ligne + 1
        Next
        ComboBox1.SelectedIndex = 0


empêcher d'entrer une valeur déjà présente:

 Dim mavaleur As String
        mavaleur = "30"
        For ligne As Integer = 0 To ComboBox1.Items.Count - 1 'tu parcours les lignes de la combobox
            If ComboBox1.Items(ligne).ToString = mavaleur Then
'on peut mettre un message
                Exit Sub
            End If
        Next
        ComboBox1.Items.Add(mavaleur)
    End Sub


Voilà



Commenter la réponse de cs_Le Pivert
Messages postés
463
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
29 octobre 2019
0
Merci
Merci Beaucoup
C'est sympa
Par contre les valeurs de la datagrid se rajoutent successivement a chaque ouverture de la form.
Il faudrait genre remettre à zéro les valeurs du combo à chaque ouverture.
J'ai mis
ComboBox.1.Items.Add("")
au début du code mais le résultat n'est pas convaincant
cordialement
cs_Le Pivert
Messages postés
6421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
5 décembre 2019
91 -
comme ceci:

  Dim mavaleur As String
        ComboBox1.Items.Clear()
        For ligne As Integer = 0 To Me.DataGridView1.Rows.Count - 1  'tu parcours les lignes de la DataGridView1
            mavaleur = CStr((Me.DataGridView1.Rows(ligne).Cells(0).Value)) 'Valeur contient maintenant la valeur de la première colonne
            ComboBox1.Items.Add(mavaleur & "")
          Next
        ComboBox1.SelectedIndex = 0


@+
julia Namor
Messages postés
463
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
29 octobre 2019
-
c'est tout bon
un grand merci
Commenter la réponse de julia Namor