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 :

Enlever le "ListViewItem" dans une liste


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2003
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 20
    Par défaut Enlever le "ListViewItem" dans une liste
    Hello,

    Voila, j'ai une ListBox que je remplis comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    List<ListViewItem> stringCollection = presenceManager.getContactToList();
     foreach (ListViewItem s in stringCollection)
     {
     
      lbContacts.Items.Add(s);
     
      }
    La methode getContactToList() me retourne une Liste de ListViewItem car dans un Item de la liste je met deux choses:
    Item.Tag = "nom"
    Item.Text = "email"

    Bref, lorsque j'affiche la liste j'ai ça:

    http://img376.imageshack.us/my.php?image=listeii9.jpg

    J'aimerais savoir si c'est possible d'enlever ce "ListViewItem" ??

    Ou alors si ce n'ai pas possible, pourriez me donnez une autre méthode pour stoquer 2 infos dans un élément de la liste ?


    En vous remerciant

  2. #2
    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
    alors :
    1. les ListViewItem s'utilisent dans une ListView, pas dans une ListBox. Comme la ListBox ne sait pas quoi faire d'un ListViewItem, elle affiche simplement le résultat de ToString()
    2. Pour stocker les 2 informations ensemble, le mieux serait de créer une classe ou une structure, avec par exemple une propriété Nom et une propriété EMail

  3. #3
    Membre averti
    Inscrit en
    Mai 2003
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 20
    Par défaut
    Ouep, ok pour la Classe qui contiendrait les deux infos.
    Mais comment je l'ajoute à la liste??

    par exemple si je fais:
    ContactInfirmations cI = new ContactInfirmations(nom,email)
    liste.Items.add(cI);

    Au lieu de m'afficher ListViewItem + le nom que j avais mis en texte
    ça va m'afficher sans doute l'adresse de ContactInformations....

    Et moi j'aimerais que ça m'affiche le nom.

  4. #4
    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 bibi9 Voir le message
    Et moi j'aimerais que ça m'affiche le nom.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lbContacts.DisplayMember = "Nom";
    Simple, non ?

  5. #5
    Membre averti
    Inscrit en
    Mai 2003
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 20
    Par défaut
    Je m'excuse, c'est moi qui me suis mal exprimé.

    voici ce que j'ai fait temporairement temporairement:

    Je possède une List<ContactInformations>. (ContactInformations est une classe qui contient un string Nom et Email)

    J'ajoute à la ListBox seulement les ContactInformations.Nom.
    Lorsque je clique sur un des nom de la ListBox, je fait une recherche du Nom dans ma List<ContactInformations> pour récupérer le bon ContactInformations... pour ainsi récurer l'email.

    C'est beaucoup trop lourd...

    DOnc..j'aimerais plutot ajouté ce "tuple" à la liste, mais la liste elle n'affiche que "Pierre", "Bob" etc..

    Et lorsque je vais cliquer sur un des noms de la liste j'aurai le nom AINSI que l'email. (avec le ListViewItem j'utilisais les méthodes .Text et .Tag et la Le ListBox affichait le contenu du .Tag de la ListViewItem)

    voila :p

  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
    Définis ta List<ContactInformations> comme DataSource de la ListBox
    Définis la propriété DisplayMember à "Nom" pour que ce soit le nom qui soit affiché
    Pour récupérer le mail de l'élément sélectionné, utilise la propriété SelectedItem, que tu peux convertir en ContactInformation :

    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
     
    List<ContactInformations> contacts = new List<ContactInformations>();
    contacts.Add(...);
    ...
    lbContacts.DataSource = contacts;
    lbContacts.DisplayMember = "Nom";
     
    ...
     
    private void buttonEmail_Click(object sender, EventArgs e)
    {
        ContactInformations contact = lbContacts.SelectedItem as ContactInformations;
        string msg = string.Format("L'email de {0} est {1}", contact.Nom, contact.Email);
        MessageBox.Show(msg);
    }

Discussions similaires

  1. enlever une variable dans une liste chaînée
    Par bisdi dans le forum Débuter
    Réponses: 7
    Dernier message: 24/08/2008, 19h36
  2. Enlever les doublons dans une liste
    Par gefrey54 dans le forum Powerbuilder
    Réponses: 2
    Dernier message: 14/09/2007, 17h46
  3. [vbnet 1.1]Inserer deux simple quote sans texte dans une db
    Par ChristopheOce dans le forum Windows Forms
    Réponses: 8
    Dernier message: 15/03/2007, 08h51

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