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 :

passer une variable invisible dans un combobox


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2007
    Messages : 696
    Par défaut passer une variable invisible dans un combobox
    bonjour !

    j'aurais besoin de vos lumière pour un petit bout de code.
    j'aimerais passer dans un combobox le nom et prenom de personnes, avec leur numero en mode caché.
    le probleme du code suivant est qu'il n'accepte pas les indices qui ne se suivent pas.

    j'explique. si j'avais les codes de personnes suivants, tout marcherait sans probleme :

    1;2;3;4;5;6...

    le probleme, c'est que j'ai plutot ça à proposer :

    2;8;9;12;15...

    ça ne commence pas forcément à 1 et il y a des creux.
    (en fait, ça arrive quand je supprime une personne)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    ArrayList TabEleve = new ArrayList();
    TabEleve = laClasse.GetListeEleves();
    int nbEleves = laClasse.GetNbEleves();
     
    for (int i = 0; i <= (nbEleves - 1); i++)
    {
            ClEleve unEleve = ((ClEleve)TabEleve[i]);
            int numEleve = unEleve.GetNumEleve();
            string nomEleve = unEleve.GetNomEleve() + " " + unEleve.GetPrenomEleve();
            cmbChoixEleve.Items.Insert(numEleve, nomEleve);
    }
    le probleme se situe donc à la derniere ligne, avec la variable numEleve :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmbChoixEleve.Items.Insert(numEleve, nomEleve);

    auriez-vous une solution à me proposer ?

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2007
    Messages : 696
    Par défaut
    apparemment il existe une autre méthode de remplissage d'une combobox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    comboBox1.DataSource = CollectionAUtiliser;
    comboBox1.DisplayMember = ValeurVisible;
    comboBox1.ValueMember = ValeurCachée;

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par thor76160 Voir le message
    apparemment il existe une autre méthode de remplissage d'une combobox.

    comboBox1.DataSource = CollectionAUtiliser;
    comboBox1.DisplayMember = ValeurVisible;
    comboBox1.ValueMember = ValeurCachée;
    effectivement, c'est ce qu'on appelle le data binding
    Par contre, ça ne peut marcher que si les membres à utiliser comme DisplayMember et ValueMember sont des propriétés, or dans ton cas ce sont des méthodes (GetNum, GetNom...).
    Il faudrait que, dans ta classe ClEleve, tu crées, par exemple, une propriété Num et une propriété NomComplet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public int Num
    {
        get { return this.GetNum(); }
    }
     
    public string NomComplet
    {
        get { return this.GetNom() + " " + this.GetPrenom(); }
    }
    Ensuite tu configures le ComboBox comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cmbChoixEleve.DataSource = laClasse.GetListeEleves();
    cmbChoixEleve.DisplayMember = "NomComplet";
    cmbChoixEleve.ValueMember = "Num";
    cmbChoixEleve.SelectedValue renverra le Num de l'élève sélectionné

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2007
    Messages : 696
    Par défaut
    ce que tu entends par propriété, c'est une méthode n'est-ce pas ?!
    je vais essayé et je te tiens au courant, merci

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2007
    Messages : 696
    Par défaut
    arf, je ne peux pas car j'utilise une collection, et je ne peux pas faire un getNomComplet() sur une collection, il n'y a pas d'indice !!

    mais alors je me suis demandé autre chose, puis-je extraire les infos dont j'ai besoin dans un tableau dans un premier temps, et utiliser ce tableau par la suite ??

    ça pourrait marcher ?

    genre je fais un tableau a 2 colonnes :

    la premiere contient le numero et la deuxieme contient le nom complet...

    EDIT : le probleme c'est ke je ne sais pas faire des ARRAY a 2 dimensions u_u

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par thor76160 Voir le message
    ce que tu entends par propriété, c'est une méthode n'est-ce pas ?!
    Non, c'est une propriété... même si ça ressemble un peu, c'est pas du Java, hein

    Citation Envoyé par thor76160 Voir le message
    arf, je ne peux pas car j'utilise une collection, et je ne peux pas faire un getNomComplet() sur une collection, il n'y a pas d'indice !!

    mais alors je me suis demandé autre chose, puis-je extraire les infos dont j'ai besoin dans un tableau dans un premier temps, et utiliser ce tableau par la suite ??

    ça pourrait marcher ?

    genre je fais un tableau a 2 colonnes :

    la premiere contient le numero et la deuxieme contient le nom complet...

    EDIT : le probleme c'est ke je ne sais pas faire des ARRAY a 2 dimensions u_u
    Oula, tu cherches des solutions bien compliquées
    Je t'ai donné tout le code dont tu as besoin dans mon post précédent

    Et lis quelques cours ou tutoriels, parce que visiblement il te manque des notions importantes sur C# et sur Windows Forms

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

Discussions similaires

  1. Comment passer une variable PHP dans une Alert
    Par Alexandrebox dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 25/01/2009, 18h53
  2. Passer une variable à javascript dans XML
    Par klod67 dans le forum XML/XSL et SOAP
    Réponses: 9
    Dernier message: 19/06/2007, 09h46
  3. [XSLT]passer une variable js dans une instruction xsl
    Par ounours dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 12/04/2007, 18h39
  4. Réponses: 3
    Dernier message: 26/06/2006, 13h48
  5. [Tableaux] passer une variable php dans une url
    Par griese dans le forum Langage
    Réponses: 27
    Dernier message: 12/06/2006, 09h02

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