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#] [WinForms] ComboBox DropDownList


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 12
    Points : 10
    Points
    10
    Par défaut [C#] [WinForms] ComboBox DropDownList
    Bonjour à tous,

    je travaille actuellement sur des formulaires Windows, dans lesquels j'utilise des combobox dropdownlist.
    Dans ces combobox, je voudrais afficher des lieux, mais je voudrais leur associer des valeurs (Items) pour pouvoir récupérer l'identifiant associé au lieu sélectionné par l'utilisateur.
    Je commence sérieusement à confondre Index, Item, ValueMember, Text... Ca me gonfle!!!!! Je ne crois pas que ce soit l'index qui m'intéresse, parce qu'en fait, je souhaite remplir mes combobox avec des données d'une base Access: les lieux que l'on peut sélectionner, et leurs ID (dans la base) en Item (ou Index, ou............).

    Merci de votre aide, là je galère...
    Julie

  2. #2
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TaDropDownList.DataSource = UneTableDUnDataSet
    TaDropDownList.DataTextField = "Valeur";
    TaDropDownList.DataValueField = "Id";
    TaDropDownList.DataBind();

    Didier Danse

    Most Valuable Profesionnal SharePoint
    Microsoft Certified Application Developer
    Mes articles sur developpez.com
    Mon site perso


  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Merci pour ta réponse. Malheureusement, ça ne résoud pas mon problème: le code que tu viens de me donner est valable pour les dropdownlist de webform, mais je travaille dans des winforms, et du coup ce code ne marche pas. En fait, avant je travaillais dans des web forms et ça marchait très bien, mais maintenant je n'ai plus les mêmes propriétés avec les win forms...

  4. #4
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    AH oki désolé

    Didier Danse

    Most Valuable Profesionnal SharePoint
    Microsoft Certified Application Developer
    Mes articles sur developpez.com
    Mon site perso


  5. #5
    Membre habitué
    Avatar de crjo
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Octobre 2004
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 81
    Points : 132
    Points
    132
    Par défaut
    testé avec vs2003

    Je crée un DataSet à la main pour simuler ton problème. Dedans, je crée une table ("MATABLE") avec 2 colonnes ("ID", "LIEU"). Je crée 2 row (1 Paris, 2 Bruxelles).

    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
     
    this.ds = new DataSet();
     
    DataTable tbl = new DataTable("MATABLE");
     
    DataColumn col1 = new DataColumn("ID", System.Type.GetType("System.Int32"));
    DataColumn col2 = new DataColumn("LIEU", System.Type.GetType("System.String"));
     
    tbl.Columns.Add(col1);
    tbl.Columns.Add(col2);
     
    DataRow row = tbl.NewRow();
    row["ID"] = "1";
    row["LIEU"] = "Paris";
    tbl.Rows.Add(row);
     
    row = tbl.NewRow();
    row["ID"] = "2";
    row["LIEU"] = "Bruxelles";
    tbl.Rows.Add(row);
     
    ds.Tables.Add(tbl);
    Voici le code pour lier ton combo à la colonne LIEU de la table créée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    this.comboBox1.DataSource = tbl;
    this.comboBox1.DisplayMember = "LIEU";

    Pour récupérer l'ID de l'élément sélectionné, il n'y a plus qu'à faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DataRowView row = this.comboBox1.SelectedItem as DataRowView;
     
    if (row != null)
        this.textBox1.Text = row["ID"].ToString();
    l'élément sélectionné du combo (SelectedItem) n'est pas une string contenant le texte affiché par le combo, mais carrément tout le row. Du coup, tu peux récupérer la valeur de n'importe quelle colonne.

    8)

  6. #6
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Whaouuu!
    Merci beaucoup! Ca marche super bien! Merci d'avoir pris du temps pour tester tout ça, c'est vachement sympa.
    Oh c'est génial! Moi qui pensais que je devrais passer du temps encore là-dessus ce matin, je vais pouvoir continuer sur autre chose!
    Merci encore!!!
    Julie

  7. #7
    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
    il y a aussi la propriete MemberValue="ID";
    et puis tu fais this.comboBox1.SelectedValue;
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  8. #8
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    C'est bon à savoir! Merci!!!

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

Discussions similaires

  1. [C# Winform] Combobox, listBox, plusieurs colonnes?
    Par LsMarx dans le forum Windows Forms
    Réponses: 1
    Dernier message: 20/09/2012, 15h40
  2. winform combobox multicolonnes
    Par lao.patrick dans le forum C#
    Réponses: 2
    Dernier message: 06/05/2010, 16h04
  3. ComboBox & DropDownList
    Par je_developpe dans le forum IHM
    Réponses: 5
    Dernier message: 14/03/2007, 07h08
  4. [C#][WinForm] ComboBox
    Par onizuanda dans le forum Windows Forms
    Réponses: 10
    Dernier message: 09/06/2006, 13h50
  5. [WinForms] ComboBox avec valeur non désirée
    Par Ditch dans le forum Général Dotnet
    Réponses: 14
    Dernier message: 11/04/2006, 16h52

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