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

C# Discussion :

Combobox Items =+ values


Sujet :

C#

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut Combobox Items =+ values
    Bonjour à tous.

    Je débute sous visual studio 2008.

    J'ai créé un combobox dans lequel j'ai mis ( via l'interface graphique ), mes choix possible du combobox.
    Cependant j'aimerais bien,pour chaque choix rentré avoir une valeur.

    Par exemple : si dans mon combobox j'ai : Fiat, BMW,Renault.
    J'aimerais associé une valeur Fiat = 0 , BMW = 1 , Renault = 2.

    Merci de votre aide

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    dans ce cas il ne faut remplir le combobox via l'interface mais par code

    soit en créant une classe avec un id et un nom et en disant au combobox qu'il doit afficher la propriété nom (displaymember)
    soit en créant une enum et en mettant les valeurs de l'enum dans le combobox (for each de system.enum.getvalues)

    la première solution est mieux si tu veux mettre plus d'infos dans la classe (même si ce n'est que sur une prochaine version)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    oki, mais peux tu me donner un exemple de code ?

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    1ère solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public class MarqueVoiture
    {
    	public long Id { get; set; }
    	public string Nom { get; set; }
    }
     
     
    private void RempliCombobox()
    {
    	this.CBXMarque.DisplayMember = "Nom";
    	foreach (MarqueVoiture mv in MaCollectionDeMarques) {
    		this.CBXMarque.Items.Add(mv);
    	}

    }

    2ème solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public enum Marques
    {
    	Fiat = 0,
    	Renault = 1
    	//etc...
    }
     
    private void RempliCombox()
    {
    	foreach (object v_loopVariable in System.Enum.GetValues(typeof(Marques))) {
    		v = v_loopVariable;
    		this.CBXMarque.Items.Add(v);
    	}
    }




    si tu as une base de données, tu ne vas pas t'amuser à faire une enum qui serait un doublon de la base, et donc utiliser le système de classe dont tu chargerais des instances dans une collection à partir des données de la base
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 17
    Par défaut
    Bonjour,

    Crée une liste d'objet (id, libelle) et ajoute la dans la datasource de ton combobox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myComboBox.DataSource = maListe;
    n'oublie pas de faire le binding avant.

    Voilà

    P.S. Avec le binding entre ta liste d'objets et ton combo box, la manipulation devient tres facile.

    Je te conseil de le faire.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    Merci pour vos conseils.

    DoraBB ta solution a l'ai plus evidente.... je vais regarder a ca

    Merci

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    C'est quoi une liste d'objet ? c'est un composant ? un tableau ?

  8. #8
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    lit un tutoriel sur c# ...

    et dis nous si tu as une base de données derrière
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    non je n'ai pas de base de données deriére se composant.

    j'ai ceci dans mon combobox : Test1, Test2, Test3 et je voudrais pour Test1 avoir la valeur 789 , pour Test2 = 870 et Test3= 322.

    Je me souvient avoir fait ca en C++ c'était pas bien compliqué...

  10. #10
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    les solutions proposées répondent au besoin et n'ont rien de compliqué (je parle des miennes )

    ca te paraissait surement simple en c++ car tu connaissais le langage, tu n'as pas l'air de maitriser c# donc ca peut paraitre compliqué
    auquel cas je te conseille de lire un tuto pour savoir ce qu'est une enum, une classe, une collection et éventuellement pour la solution de dorraBB ce qu'est un binding et l'interface IList (collection là aussi)

    après si tu veux qu'on te donne du code tout fait, je peux compléter ma solution et coller un peu avec celle de dorraBB
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    List<Marque> Marques = new List<Marque>();
    Marques.Add(new Marque {
    	Id = 500,
    	Nom = Fiat
    });
    Marques.Add(new Marque {
    	Id = 257,
    	Nom = Toyota
    });
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  11. #11
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 17
    Par défaut
    L'objet est une instance d'une classe
    si ta classe est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class Marque
    {
         int id;
         string libelle;
    }
    ton objet sera :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maMarque = new Marque();
    La liste d'objets c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<Marque> maListe = new List<Marque>();
    Voilà.

    Par contre, il faut que tu révises bien les bases de la Programmation Orientée Objet (POO).

Discussions similaires

  1. VB.NET 2005 : combobox.items.contains
    Par Kropernic dans le forum Windows Forms
    Réponses: 5
    Dernier message: 14/04/2009, 11h29
  2. ComboBox DataSource Value
    Par Thesum dans le forum VB.NET
    Réponses: 3
    Dernier message: 14/03/2008, 16h16
  3. probleme affichage combobox item selectionne
    Par nicocotiers dans le forum Flash
    Réponses: 5
    Dernier message: 16/10/2006, 11h36
  4. [C#] combobox et value c# comme en html possible ?
    Par korben06 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 25/07/2006, 01h16
  5. [c#]ComboBox Display / Value Member
    Par Derik dans le forum Windows Forms
    Réponses: 2
    Dernier message: 12/03/2006, 02h02

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