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 :

[C# 2.0] Renvoyer un identifiant avec une ComboBox


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 85
    Par défaut [C# 2.0] Renvoyer un identifiant avec une ComboBox
    Bonjour,
    Je réalise une petite application en C# + MySQL.

    J'alimente une ComboBox avec le contenu d'une table composée d'un identifiant, et d'un libellé.
    Dans ma combo, j'affiche le libellé.
    Y-a-t'il un moyen de stocker l'identifiant de l'enregistrement afin de le récupérer ?

    Merci

  2. #2
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    Ta combobox possède 2 attributs : DisplayMember et ValueMember
    DisplayMember : ce qui est affiché (le libellé)
    ValueMember : la valeur correspondate (l'identifiant)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 85
    Par défaut
    Merci

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 85
    Par défaut
    J'aurais besoin d'une petite précision :

    Ma procédure load_cb_type() me permet a priori de récupérer l'ensemble des éléments à insérer dans ma combo.

    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
    private void load_cb_type()
            {
                int intI;
     
                Connection.ConnectionString = GlobalVar.strConnexion;
     
                try
                {
                    // On ouvre la connexion
                    Connection.Open();
     
                    // On définit la requête SELECT à exécuter
                    string MySQLCmd = "SELECT IDType, Libelle FROM Type";
     
                    // On associe cette requête à la propriété SelectCommand du MySqlDataAdapter
                    MyAdapter.SelectCommand = new MySqlCommand(MySQLCmd, Connection);
     
                    // On remplit le dataset avec le résultat de la commande SELECT
                    MyAdapter.Fill(ds, "type");
     
                    for (intI = 0; intI < Convert.ToInt16(ds.Tables["type"].Rows.Count.ToString()); intI++)
                    {
                        dr = ds.Tables["type"].Rows[intI];
     
                        // On remplit la combo
                        //...
                        //...
                        //...
                    }
     
                    // On ferme la connexion le plus tôt possible
                    Connection.Close();
                }
                catch (MySqlException Ex)
                {
                    MessageBox.Show("Erreur SQL:\n" + Ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
    [boulet]Comment ajouter tous les éléments dans la combo ?[/boulet]

    Merci

  5. #5
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    Pourquoi ne fait tu pas plutot :
    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
     
    private void load_cb_type()
            {
                int intI;
                Connection.ConnectionString = GlobalVar.strConnexion;
                try
                {
                    // On ouvre la connexion
                    // On définit la requête SELECT à exécuter
                    string MySQLCmd = "SELECT IDType, Libelle FROM Type";
                    // On associe cette requête à la propriété SelectCommand du MySqlDataAdapter
                    MyAdapter.SelectCommand = new MySqlCommand(MySQLCmd, Connection);
     
                    // On remplit le dataset avec le résultat de la commande SELECT
                    MyAdapter.Fill(ds, "type");
     
                    maCombo.DataSource = ds;
                    maCombo.DataMember = "type";
                    maCombo.DisplayMember = "Libelle";
                    maCombo.ValueMember = "IDType";
     
                }
                catch (MySqlException Ex)
                {
                    MessageBox.Show("Erreur SQL:\n" + Ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
    PS : pas besoin d'ouvrir et de fermer la connexion avec un DataAdpter, il s'en occupe tout seul

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 85
    Par défaut
    Merci, mais j'ai une erreur à la compilation :

    'System.Windows.Forms.ComboBox' does not contain a definition for 'DataMember'
    Savez-vous d'où cela peut venir ?

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

Discussions similaires

  1. Renvoyer plusieurs valeurs avec une fonction
    Par Kestion100 dans le forum Excel
    Réponses: 4
    Dernier message: 10/12/2014, 11h56
  2. [XL-2010] Renvoyer plusieurs lignes avec une valeur de référence
    Par beabianchini dans le forum Excel
    Réponses: 1
    Dernier message: 20/02/2014, 11h49
  3. Réponses: 3
    Dernier message: 13/11/2008, 09h21
  4. [VBA-E]Erreur avec une combobox qui liste le contenu de cell
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/03/2006, 12h01
  5. probleme avec une combobox
    Par el_quincho dans le forum IHM
    Réponses: 1
    Dernier message: 09/02/2006, 16h14

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