IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Combobox integrée dans DataGridView


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Par défaut Combobox integrée dans DataGridView
    Bonjour,

    Quelqu'un pourrait m'aider à faire fonctionner correctement mon DataGridView avec ma Combobox?

    Dans mon DataGridView j'ai des informations concernant une prestation (Nom, code,....) et une colonne Combobox qui devrait indiquer le statut de ma prestation.

    Mes questions sont à savoir comment remplir correctement mon DataGridView avec la combobox remplie et si je veux afficher dans mon DataGridView toutes mes prestations de ma base de données comment puis-je changer dans la combobox le SelectedItem?

    Merci

  2. #2
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut
    Le statut c'est quoi dans la base de donnée?

    C'est une clef étrangère qui pointe vers une table des statuts?
    Un int,
    Un booleen?

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Par défaut
    J'ai une table nommée "Prestation" et une table nommée "Statut" donc en effet il y a une clé étrangère dans la table Prestation qui pointe vers la table Statut

  4. #4
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut
    ok,
    une solution est de charger la table des statuts dans un datatable et de lier ce datatable a la combo en indiquant comme displaymember le nom du statut et comme valuemember l'ID qui sert de clef primaire.

    Ensuite dans un deuxième temps, charger les prestations a afficher sans faire de JOINTURE dans le select, puis simplement lier la colonne dans prestation qui sert de clef étrangère pour le statut a la valeur de la combo.
    La combo saura quelle valeur elle doit sélectionner.

    Tu peux employer deux bindingsource différents

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Par défaut
    Ok, alors je fais dans une première etape
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    query = "SELECT IdStatut, NomStatut FROM STATUT"
     
            Dim dataS As DataSet = Nothing
            dataS = remplirDataSet(query)
     
            Dim columnStatut As DataGridViewComboBoxColumn
            columnStatut = New DataGridViewComboBoxColumn
            columnStatut.DataSource = dataS.Tables(0)
            columnStatut.DisplayMember = "NomStatut"
            columnStatut.ValueMember = "IdStatut"
    et après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    query = "SELECT IdPrestation, DatePrestation, NoPrestation, DescriptifPrestation, IdStatut FROM PRESTATION "
     
            Dim ds As DataSet = Nothing
            ds = remplirDataSet(query)
            DataGridView1.DataSource = ds
            DataGridView1.DataMember = ds.Tables(0).TableName
     
            DataGridView1.Columns(0).HeaderText = "Id"
            DataGridView1.Columns(0).Name = "IdContact"
            DataGridView1.Columns(0).Width = 20
            DataGridView1.Columns(0).Visible = False
            DataGridView1.Columns(1).HeaderText = "Date"
            DataGridView1.Columns(1).Width = 100
            DataGridView1.Columns(2).HeaderText = "Prestation"
            DataGridView1.Columns(2).Width = 100
            DataGridView1.Columns(3).HeaderText = "Descriptif"
            DataGridView1.Columns(3).Width = 200
            DataGridView1.Columns.Add(columnStatut)
    Mais comment lier les 2 ?

  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Par défaut
    Quelqu'un aurait une autre solution?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/11/2008, 19h20
  2. Combobox dans datagridview
    Par chris81 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 28/02/2008, 11h25
  3. ComboBox dans DataGridView
    Par twitty20 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 21/02/2008, 23h38
  4. Combobox dans datagridview
    Par patkof dans le forum Visual C++
    Réponses: 1
    Dernier message: 31/05/2007, 09h52
  5. Ajouter combobox dans datagridview + dataset
    Par Gdal dans le forum VB.NET
    Réponses: 1
    Dernier message: 29/05/2007, 23h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo