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 :

Rechercher un objet dans une combobox


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Par défaut Rechercher un objet dans une combobox
    bonjour,

    j'ai l'objet suivant :

    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
    42
    43
    44
    45
    46
    47
    48
     
    public class SimpleObject
        {
            public SimpleObject(string code, string desc, Color pColor)
            {
                this.code = code;
                this.desc = desc;
                foreColor = pColor;
            }
     
            public SimpleObject(string code, string desc)
            {
                this.code = code;
                this.desc = desc;
            }
     
            private string code;
            public string Code
            {
                get { return code; }
                set { code = value; }
            }
     
            private string desc;
            public string Desc
            {
                get { return desc; }
                set { desc = value; }
            }
     
            Color foreColor = Color.Black;
            public Color ForeColor
            {
                get { return foreColor; }
                set { foreColor = value; }
            }
     
            public override string ToString()
            {
                return desc;
            }
     
            /*public SimpleObject Self
            {
                get { return this; }
            }
            */
        }
    J'alimente ma combox avec une Liste de cette Objet.

    comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                           //Liste des groupe de frais
                            List<SimpleObject> liste_GroupeFraisProgramme = SQL_GroupeFraisProgramme(program_id);
                            comboBoxGroupeF.DataSource = liste_GroupeFraisProgramme;
    SQL_GroupeFraisProgramme(program_id) est une methode qui prend le résultat d'une requete et qui alimente une Liste de type List<SimpleObject>
    comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    l.Add(new SimpleObject(dr["groupe_frais"].ToString(), dr["description"].ToString(), Color.Black));
    Ma combo est bien alimentée.

    Je cherche à present à retrouver un objet dans ma combo comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    comboBoxGroupeF.Items.IndexOf(new SimpleObject("GE-L3","GE L3",Color.Black));
    Je suis certain de mes valeurs ... et impossible de trouver l'index.


    quelqu'un a une idée ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    oui une idée :

    Tu veux trouver un objet qui correspond aux critères que tu mets sauf que, si tu ne "surcharges" par le compare de ton objet, la combobox va regarder la référence de ton objet. Comme tu fais un new, cette référence sera obligatoirement différente des références présentes dans ta combo et donc,
    la recherche ne donnera rien !!!

    Il faut, je crois, de mémoire surcharger ton Equals de ta classe pour que
    la comparaison se fasse via ta méthode dans laquelle tu pourras mettre la
    comparaison valeur à valeur des champs.

  3. #3
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    comme tu a fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     comboBoxGroupeF.DataSource = liste_GroupeFraisProgramme;
    alors pour quoi ne cherche dans liste_GroupeFraisProgramme et bien sur ton index est le même que dans le combobox

  4. #4
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Par défaut
    Ok j'ai compris ....

    comment surcharger l' Equals de ma classe ?

  5. #5
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    tu peux faire ça à l'aide de override

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     public override bool Equals(.....)
        { 
    ...............
    }

  6. #6
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Par défaut
    j'ai fait cela :
    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
     
          public override bool Equals(System.Object obj)
            {
                // If parameter is null return false.
                if (obj == null)
                {
                    return false;
                }
     
                // If parameter cannot be cast to Point return false.
                SimpleObject p = obj as SimpleObject;
                if ((System.Object)p == null)
                {
                    return false;
                }
     
                // Return true if the fields match:
                return (this.code == p.code);
            }
    mais je ne vois pas le rapport avec :
    comboBoxGroupeF.Items.IndexOf(new SimpleObject("GE-L3","GE L3",Color.Black)) ....

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

Discussions similaires

  1. deux objets dans une combobox
    Par javast dans le forum JavaFX
    Réponses: 1
    Dernier message: 04/06/2013, 08h11
  2. Recherche un objet dans une liste
    Par re7bb19 dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 12/09/2011, 16h51
  3. recherche par attribut dans une liste d'objet
    Par Jacobian dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 28/05/2008, 21h11
  4. Réponses: 15
    Dernier message: 17/01/2008, 17h02
  5. Réponses: 4
    Dernier message: 19/06/2007, 10h41

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