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 :

récupérer valeur listbox selection multiple


Sujet :

C#

  1. #1
    Membre régulier Avatar de titou624
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 152
    Points : 87
    Points
    87
    Par défaut récupérer valeur listbox selection multiple
    Bonjour à tous !
    j'ai un petit soucis lorsque je veux récupérer les valeurs des mes items sélectionnés dans un listbox à sélection multiple.

    Voici le code générant le contenu de mon listbox:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CalendarDataContext db = new CalendarDataContext();
                var campussRes = (
                   from c in db.campus
                   orderby c.label
                   select c);
     
                lbx_campus.ValueMember = "id";
                lbx_campus.DisplayMember = "label";
                lbx_campus.DataSource = campussRes.ToArray();
                db.Dispose();
    voici le code que j'ai pour l'instant et qui ne marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach (ListItem item in lbx_campus.SelectedItems)
    {
      // Arrivé ici je n'arrive pas à récupérer la valeur contenu dans item
     
    }
    Quelqu'un à -t-il une idée pouvant m'aider ?

  2. #2
    Membre habitué Avatar de thelpi
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 217
    Points : 156
    Points
    156
    Par défaut
    Salut,

    SelectedItems ne renverrai t'il pas une collection de type <object> ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    foreach(object o in lbx_campus.SelectedItems)
    {
         ListItem item = o as ListItem;
         if( item != null )
         {
              // traitement
         }
    }

  3. #3
    Membre régulier Avatar de titou624
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 152
    Points : 87
    Points
    87
    Par défaut
    Oui ceci fonctionne mais comment récupérer les valeurs contenu dans l'item ?
    je ne trouve pas de getter :s

  4. #4
    Membre régulier Avatar de titou624
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 152
    Points : 87
    Points
    87
    Par défaut
    Le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if( item != null )
    est toujours null . Je pense que ça renvoi un type particulier mais je ne sais pas comment faire pour récupéré les valeurs ....

  5. #5
    Membre habitué Avatar de thelpi
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 217
    Points : 156
    Points
    156
    Par défaut
    En exécution pas à pas, que contient réellement SelectedItems au moment d'arriver dans la boucle ?

  6. #6
    Membre régulier Avatar de titou624
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 152
    Points : 87
    Points
    87
    Par défaut
    SelectedItems contient ceci:

    -SelectedItems
    Valeur : {System.Windows.Forms.ListBox.SelectedObjectCollection}
    Type : System.Windows.Forms.ListBox.SelectedObjectCollection

  7. #7
    Membre éclairé Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 612
    Points : 685
    Points
    685
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach (object o in lb.SelectedItems)
          {
            MessageBox.Show(o.ToString());
          }

  8. #8
    Membre régulier Avatar de titou624
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 152
    Points : 87
    Points
    87
    Par défaut
    Ce code me renvoi ceci:

    System.Windows.Forms.ListBox+SelectedObjectCollection
    Merci !

  9. #9
    Membre éclairé Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 612
    Points : 685
    Points
    685
    Par défaut
    Et dans ton campussRes.ToArray() tu as quoi comme objets ?

  10. #10
    Membre régulier Avatar de titou624
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 152
    Points : 87
    Points
    87
    Par défaut
    En fait, lorsque je fais un "select new" il me créé un objet anonyme.
    J'ai donc modifié le code comme ceci et comme ça j'ai mes objets campus:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CalendarDataContext db = new CalendarDataContext();
    var campussRes = (
    from c in db.campus
    orderby c.label
    select c);
     
    lbx_campus.ValueMember = "id";
    lbx_campus.DisplayMember = "label";
    lbx_campus.DataSource = campussRes.ToArray();
    db.Dispose();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach (campus item in lbx_campus.SelectedItems)
    {
       if(item != null)
            System.Windows.Forms.MessageBox.Show(item.label); 
    }
    Merci beaucoup pour votre aide !

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

Discussions similaires

  1. Comment récupérer valeur ListBox dans Servlet
    Par doukha dans le forum GWT et Vaadin
    Réponses: 5
    Dernier message: 17/01/2011, 11h19
  2. [XL-2007] Récupérer nom cellule selection multiple
    Par Fr33dom dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/02/2010, 15h45
  3. Récupérer valeurs listbox choix multiple
    Par biquet52 dans le forum IHM
    Réponses: 3
    Dernier message: 11/09/2008, 09h07
  4. permutation valeurs deux select multiple
    Par nadines dans le forum Struts 1
    Réponses: 9
    Dernier message: 16/02/2007, 17h25
  5. Problème entre 2 listbox à selection multiple
    Par SoaB dans le forum Général JavaScript
    Réponses: 24
    Dernier message: 24/10/2005, 16h05

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