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à



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 à 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
0
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