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

Développement Windows Discussion :

ComboBox dans un DataGridView avezc deux sources


Sujet :

Développement Windows

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 68
    Points : 40
    Points
    40
    Par défaut ComboBox dans un DataGridView avezc deux sources
    Bonjour

    J'ai un problème qui me simple pourtant extrêmement classique mais pourtant après avoir lu des dizaines d'articles et de posts sur des tas de sites différents, je ne trouve pas de solution.

    J'ai une collection de classes Artist qui contient entre autre un code nationalité et une collection de classe Nationalities qui contient les libellés qui correspondent à ces codes (Elles alimentées part deux tables ayant une relation de 1 à n).

    Dans un DataGridView, je souhaiterais afficher un ComboBox avec le libellé.
    J'ai lié le DataGridView à la collection de classes Artist et le ComboBox à la collection de classe Nationalities.

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    using System;
    using System.Windows.Forms;
     
    namespace Records.Win
    {
        public partial class frm_Artists : Form
        {
            BindingSource BindingSource_Artists = new BindingSource();
            BindingSource BindingSource_Nationalies = new BindingSource();
     
            public frm_Artists()
            {
                InitializeComponent();
            }
     
            private void frm_Artists_Load(object sender, EventArgs e)
            {
                Initialize_dtg_Artists();
                Combo_Box_Nationality();
            }
     
            private void Initialize_dtg_Artists()
            {
                BindingSource_Artists.DataSource = Artist_List;
                this.dtg_Artists.DataSource = BindingSource_Artists;
     
                this.dtg_Artists.Columns["int_Nationality"].DataPropertyName = "int_Nationality_Code";
            }//Initialize_dtg_Artists
     
            private void Combo_Box_Nationality()
            {
                BindingSource_Nationalies.DataSource = Nationality_List;
     
                DataGridViewComboBoxColumn combo = new DataGridViewComboBoxColumn();
     
                combo.HeaderText = "Test combo";
                combo.Name = "int_Nationality_Code";
                combo.DataSource = BindingSource_Nationalies;
                combo.DataPropertyName = "int_Nationality_Code";
                combo.ValueMember = "int_Nationality_Code";
                combo.DisplayMember = "str_Nationality_Name";
     
                this.dtg_Artists.Columns.Add(combo);
            }//Combo_Box_Nationality
        }
    }
    Je n'arrive pas à lier mon ComboBox et la propriété int_Nationality_Code de la classe Artist.
    Et donc lorsque je change la valeur dans la liste déroulante, la valeur de propriété n'est pas mise à jour.
    Pourtant d'après les articles que j'ai lu, la propriété DataPropertyName devrait faire la liaison entre les deux.

    Merci d'avance

  2. #2
    Membre actif
    Avatar de didate
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 90
    Points : 238
    Points
    238
    Par défaut
    J'ai eu un problème similaire hier (en fin si j'ai bien compris ton problème).

    Voici le lien que j'avais suivi : http://www.developer-corner.com/blog...ested-objects/

    J'espère que ça va t'aider à résoudre ton problème ...
    L'effort fait les forts

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 68
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par didate Voir le message
    J'ai eu un problème similaire hier (en fin si j'ai bien compris ton problème).

    Voici le lien que j'avais suivi : http://www.developer-corner.com/blog...ested-objects/

    J'espère que ça va t'aider à résoudre ton problème ...

    Merci beaucoup Didate.
    C'est une solution intéressante.

Discussions similaires

  1. ComboBox dans un DataGridView
    Par jeandadaf dans le forum VB.NET
    Réponses: 1
    Dernier message: 12/06/2009, 10h34
  2. Creer un combobox dans un datagridview bindé
    Par olibara dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/03/2009, 20h14
  3. Récuperer la valeur texte d'une combobox dans un datagridview
    Par Delphi-ne dans le forum Windows Forms
    Réponses: 0
    Dernier message: 19/03/2009, 10h17
  4. Ajouter une ComboBox dans un DataGridView
    Par mdordenart dans le forum Windows Forms
    Réponses: 5
    Dernier message: 12/03/2009, 13h59
  5. Combobox dans un datagridview
    Par nuriel2 dans le forum C#
    Réponses: 3
    Dernier message: 31/10/2007, 14h18

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