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

Windows Forms Discussion :

Acceder à un item d'un group d'une listview


Sujet :

Windows Forms

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Acceder à un item d'un group d'une listview
    Bonjour,

    j'ai un souci d'accès aux items d'un group d'une listview avec checkbox et 3 colonnes
    En fait, je voudrais que si le 1° item du group n'est pas sélectionner (par la check box) que tous les autres items du même group soient déselectionnés.
    Seulement quand je tente d'accéder au premier item j'ai une exception sur l'index. qui me dit que je suis sur l'index -1

    Merci de votre aide

    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
    internal static void verifOption(ListViewXml liste)
    {
        int nbitem = liste.Items.Count;
        foreach (ListViewGroup group in liste.Groups)
        {
           if (group.Header.ToLower().Contains("sectiongroup") ||
               group.Header.ToLower().Contains("logger") ||
               group.Header.ToLower().Contains("appender"))
           {
               if (!group.Items[0].Checked)
                  foreach (ListViewItem item in group.Items)
                     item.Checked = false;
           }
        }
    }

  2. #2
    Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    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
     /// <summary>
            /// On va regarder pour certain group si leur 1° option est décoché.
            /// Si elle l'est, on décoche alors toute les autres automatiquement du même group.
            /// </summary>
            /// <param name="listViewXml"></param>
            internal static void verifOption(ListViewXml liste)
            {
                int nbItemAvecGroup = 0;
                int nbItemSansGroup = liste.Items.Count;
     
                // on calcul le nombre d'item qui ne sont pas dans un group.
                foreach (ListViewGroup group in liste.Groups)
                    nbItemSansGroup -= group.Items.Count;
     
                for (int numgroup = 0; numgroup < liste.Groups.Count; numgroup++)
                {
                    nbItemAvecGroup += liste.Groups[numgroup].Items.Count;
     
                    /* On regarde pour chaque groups s'il est d'un certain type
                     * Ensuite on décoché les option si la 1° valeur est décoché
                     */
                    if (liste.Groups[numgroup].Header.ToLower().Contains("sectiongroup") ||
                        liste.Groups[numgroup].Header.ToLower().Contains("logger") ||
                        liste.Groups[numgroup].Header.ToLower().Contains("appender"))
                    {
                        /* le calcul se fait grace le nombre total croissant d'item dans le group,
                         * le nombre d'item du group, et le npbre d'item qui ne sont pas présent dans aucun group 
                         */
                        if (!liste.Items[nbItemAvecGroup - liste.Groups[numgroup].Items.Count + nbItemSansGroup].Checked)
                            foreach (ListViewItem item in liste.Groups[numgroup].Items)
                            {
                                if (item.Index != -1)
                                    item.Checked = false;
                            }
                    }
                }
            }

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

Discussions similaires

  1. comment insérer un group dans une listview ?
    Par lovedesitaliens dans le forum C#
    Réponses: 0
    Dernier message: 05/07/2010, 10h51
  2. Acceder à un object qui se trouve dans une autre classe
    Par ceres02 dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 08/02/2006, 13h29
  3. Comment acceder à un item d'un menu
    Par Flash31186 dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2005, 17h40
  4. Changer dynamiquement la couleur d'un item d'une listview
    Par little_cypress dans le forum C++Builder
    Réponses: 2
    Dernier message: 29/11/2004, 14h46
  5. [RaveReport] - Bloquer groupe sur une page
    Par muaddib dans le forum Rave
    Réponses: 3
    Dernier message: 25/02/2003, 16h21

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