Probleme de combobox dans un datagridview [Résolu]

Messages postés
14
Date d'inscription
vendredi 25 avril 2014
Dernière intervention
31 mars 2017
-
Bonjour,
J'ai une base de données access employe (Nom, Prenom, Sexe, Adresse). Je souhaite afficher cette bdd dans un datagridview avec la colonne sexe en combobox proposant Homme, Femme.

Le problème est que lorsque j'active l'importation des données, j'ai une erreur au niveau des données de la combobox.
Mon code est le suivant :

Imports System
Imports System.Data
Imports System.Data.OleDb
Imports Microsoft.VisualBasic
Public Class Form1
    Dim Connexion As New OleDb.OleDbConnection()
    Dim AdapTContact As OleDb.OleDbDataAdapter
    Dim DtSet As New DataSet()
    Dim Sql As String
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        DataGridView1.AutoGenerateColumns = False 'empeche la datagridview de créer les colonnes toutes seules

        Dim Nc As DataGridViewColumn

        DataGridView1.Columns.Add(New DataGridViewTextBoxColumn With {.Name = "Nom", .DataPropertyName = "Nom"})
        DataGridView1.Columns.Add(New DataGridViewTextBoxColumn With {.Name = "Prenom", .DataPropertyName = "Prenom"})

        'ajoute une colonne combobox avec les valeurs restreintes à l'énumération définie plus bas
        Nc = New DataGridViewComboBoxColumn With {.Name = "Sexe", .DataPropertyName = "Sexe"} ', .DataSource = [Enum].GetValues(GetType(Sexe))}
        DataGridView1.Columns.Add(Nc)

        DataGridView1.Columns.Add(New DataGridViewTextBoxColumn With {.Name = "Adresse", .DataPropertyName = "Adresse"})
    End Sub

    Public Enum Sexe 'énumération pour la combobox
        Homme = 0
        Femme = 1
    End Enum

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim connexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0;data source = C:\Users\Philippe\Desktop\BDD2.accdb")

        Dim cmd As OleDbCommand = New OleDbCommand("SELECT * FROM Employe", connexion)

        connexion.Open()

        AdapTContact = New OleDbDataAdapter(cmd)
        Dim builder As OleDbCommandBuilder = New OleDbCommandBuilder(AdapTContact)
        DtSet = New DataSet()
        AdapTContact.Fill(DtSet, "Employe")

        DataGridView1.DataSource = DtSet.Tables("Employe").DefaultView
        connexion.Close()
        connexion = Nothing
    End Sub
End Class


Merci de votre aide.
Afficher la suite 

Votre réponse

1 réponse

Messages postés
12392
Date d'inscription
mardi 11 mars 2003
Dernière intervention
14 décembre 2018
0
Merci
Ajout de la coloration syntaxique, voir ici pour tes prochains message.
Commenter la réponse de Whismeril

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.