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 :

Comment obtenir la liste de TOUS les éléments d'une CheckedListBox (coché ou non) ?


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2013
    Messages : 31
    Points : 26
    Points
    26
    Par défaut Comment obtenir la liste de TOUS les éléments d'une CheckedListBox (coché ou non) ?
    Bonjour,



    J'arrive aisément à obtenir la liste des éléments cochés d'une CheckedListBox.


    Je ne comprend pas comment faire pour obtenir la liste, notamment le texte de la case à cocher ou non, indépendamment du fait que la CheckBox soit activé ou non.


    Comment puis-je m'y prendre (sous le FrameWork 3.5) ?


    Merci

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 742
    Points
    9 742
    Billets dans le blog
    3
    Par défaut
    Il faut simplement itérer sur la propriété Items :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach (var item in this.checkedListBox1.Items)
    {
        var value = item.ToString();
    }

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2013
    Messages : 31
    Points : 26
    Points
    26
    Par défaut
    Ah ok, super merci Plus facile que ce que je ne cherchais.


    Toutefois, j'aimerais faire une petit truc.
    Exemple, j'ai mes élements qui contiennent un numéro et une ville : je ne prends que les 4 premiers caractères et si celui ci contient une certaine valeur, j'aimerais que la checkbox soit cochée



    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
     
                foreach (var item in this.checkedListBox1.Items)
                    {
     
                    var value = item.ToString();
     
                    var value2 = value.Substring(0, 4);
     
                    if (value2 == "0015")
                        {
                        checkedListBox1.SetItemChecked(i, true);
                        }
     
                    i++;
     
                    }

    J'ai en retour, cette erreur

    List that this enumerator is bound to has been modified. An enumerator can only be used if the list does not change.

    Est ce que le fait de cocher une case modifie la liste ? C'est bien ça qu'il essaye de me faire comprendre ?
    Comment procéder autrement ?




    Merci

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 742
    Points
    9 742
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par Alonzo Mosely Voir le message
    Est ce que le fait de cocher une case modifie la liste ? C'est bien ça qu'il essaye de me faire comprendre ?
    Comment procéder autrement ?
    Oui tu as bien compris. Il faut pour cela itérer sur une copie de la liste. Exemple :
    Code C# : 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
    // Création d'un array de string qui servira de copie
    var copy = new string[this.checkedListBox1.Items.Count];
     
    // On copie la liste original dans l'array de string
    this.checkedListBox1.Items.CopyTo(copy, 0);
     
    // On parcourt la copie
    foreach (var item in copy)
    {
    	// Récupère l'indice de l'élément en cours
    	var index = this.checkedListBox1.Items.IndexOf(item);
     
    	// Si on est sur le troisième élément, on le sélectionne
    	if (index == 2)
    		this.checkedListBox1.SelectedIndex = index;
    }

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2013
    Messages : 31
    Points : 26
    Points
    26
    Par défaut
    C'est Nickel ! Merci DotNetMatt, tu m'as bien aidé à résoudre un casse-tête.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/02/2010, 18h41
  2. Active directory : Comment extraire la liste de tous les contacts?
    Par Asriel01 dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 12/07/2007, 12h32
  3. Comment tester si tous les éléments d'une page ont été chargés ?
    Par Gat- dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/02/2007, 13h19
  4. [code] Comment lister tous les éléments d'une form
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/10/2006, 11h23
  5. [JDOM] Recpérer une liste de tous les éléments d'un fichier XML
    Par adilo dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 30/08/2006, 10h15

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