Alimenter un combobox à partir d'un datagridview

Messages postés
444
Date d'inscription
jeudi 27 mars 2014
Dernière intervention
18 décembre 2018
- - Dernière réponse : julia Namor
Messages postés
444
Date d'inscription
jeudi 27 mars 2014
Dernière intervention
18 décembre 2018
- 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 

Votre réponse

2 réponses

Messages postés
5622
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 décembre 2018
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
444
Date d'inscription
jeudi 27 mars 2014
Dernière intervention
18 décembre 2018
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
5622
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 décembre 2018
-
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
444
Date d'inscription
jeudi 27 mars 2014
Dernière intervention
18 décembre 2018
-
c'est tout bon
un grand merci
Commenter la réponse de julia Namor

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.