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 :

récupérer le ValueMember d'une combobox


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 202
    Points : 101
    Points
    101
    Par défaut récupérer le ValueMember d'une combobox
    Problème pour récupérer le ValueMember d'une combobox:

    Bonjour,
    J'ai une combobox déclarée et remplie comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                ContinentCombobox.DisplayMember = "continent";
                ContinentCombobox.ValueMember = "Id_Continent";
                ContinentCombobox.DataSource = DataAcess.LoadContinents();
    Après, selon le type de ce que j'ai sélectionné dans la Combobox, je fais un switch pour remplir un objet avec des valeurs contenues dans des textbox:

    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
            private void AjoutOKbtn_Click(object sender, EventArgs e)
            {
                TypeDonnee t = (TypeDonnee)Enum.Parse(typeof(TypeDonnee), AjoutCombobox.SelectedItem.ToString());
     
                switch (t)
                {
                    case TypeDonnee.Animal:
                        Animal f = new Animal();
                        f.Animal1 = Animaltxt.Text;
                        f.Age = Convert.ToInt32(Agetxt.Text);
                        f.Poids = double.Parse(Poidstxt.Text);
                        f.Couleur = Couleurtxt.Text;
                        f.Continent = ContinentCombobox.SelectedValue.ToString();
     
                        DataAcess.InsertAnimal(f);
     
                        break;
                    //case TypeDonnee.realisateur:
     
     
     
     
     
     
     
                   // case TypeDonnee.genre:
     
                    default:
                        break;
     
     
     
     
     
                }
     
                DialogResult = System.Windows.Forms.DialogResult.OK;
     
            }
        }
    }
    Voici l'appelle à la méthode pour l'insertion:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            public static int InsertAnimal(Animal animal)
            {
                string req = "INSERT INTO Animal (animal,age,poids,couleur,Id_Continent) VALUES ('" + animal.Animal1 + "', + " + animal.Age + ",  " + animal.Poids + ",  '"+animal.Couleur + "',  "+ animal.Continent + ")";
                return ExecuteNonQuery(req);
            }

    Problème:


    J'ai une erreur d'exception car je suis sûr que je n'arrive pas correctement à récupérer le valueMember correctement.

    c'est cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    f.Continent = ContinentCombobox.SelectedValue.ToString();
    Merci à vous

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    un petit break point et les watch devraient t'aider à voir d'où vient le problème

    et donner le nom de l'exception peut aussi aider
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 202
    Points : 101
    Points
    101
    Par défaut
    En utilisant le déboggeur

    j'ai System.Data.DataRowView dans continent dans cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      string req = "INSERT INTO Animal (animal,age,poids,couleur,Id_Continent) VALUES ('" + animal.Animal1 + "', + " + animal.Age + ",  " + animal.Poids + ",  '"+animal.Couleur + "',  "+ animal.Continent + ")";
    Dans SelectedValue aussi dans cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f.Continent = ContinentCombobox.SelectedValue.ToString();

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    C'est surement que ton ContinentCombobox.ValueMember n'a pas marcher
    Le nom de la colonne n'est peut etre pas le bon
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 148
    Points : 291
    Points
    291
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ContinentCombobox.DataSource = DataAcess.LoadContinents();
    Peux-tu nous donner le code de la méthode LoadContinents() stp ?

    A bientôt.

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

Discussions similaires

  1. Récupérer un élément d'une combobox non sélectionnée
    Par skytofer31 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 20/12/2006, 14h50
  2. Réponses: 1
    Dernier message: 29/07/2006, 10h08
  3. Récupérer la valeur d'une combobox
    Par Invité dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/03/2006, 15h20
  4. Réponses: 14
    Dernier message: 25/11/2005, 14h22
  5. Réponses: 2
    Dernier message: 29/05/2005, 19h50

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