Alimenter un combobox à partir d'un datagridview

julia Namor Messages postés 524 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 13 janvier 2024 - 22 sept. 2018 à 11:32
julia Namor Messages postés 524 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 13 janvier 2024 - 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

2 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
Modifié le 22 sept. 2018 à 13:42
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à



julia Namor Messages postés 524 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 13 janvier 2024
22 sept. 2018 à 18:17
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
Modifié le 22 sept. 2018 à 19:16
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


@+
0
julia Namor Messages postés 524 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 13 janvier 2024
22 sept. 2018 à 21:34
c'est tout bon
un grand merci
0
Rejoignez-nous