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 :

ListViewItem impossible à lier à un ListViewGroup [Débutant]


Sujet :

C#

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 114
    Par défaut ListViewItem impossible à lier à un ListViewGroup
    Bonjour !
    Le code suivant ne se comporte pas comme il le devrait :

    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
     
            public void lv_goals_fill()
            {
     
                ListViewGroup ThisGroup = new ListViewGroup();
                ListViewItem ThisItem = new ListViewItem();
     
                XElement root = XElement.Load(mPath);
                IEnumerable<XElement> GoalsCat =
                    from El in root.Elements("Goal")
                    where (string)El.Attribute("Type") == "CatGoal"
                    select El;
     
                XElement root2 = XElement.Load(mPath);
                IEnumerable<XElement> AGoal =
                    from El2 in root2.Elements("AGoal")
                    where (string)El2.Attribute("Type") == "Agoal"
                    select El2;
     
     
     
     
                foreach (XElement El in GoalsCat)
                {
                    ThisGroup.Name = El.Attribute("Name").Value;
                    ThisGroup.Header = El.Attribute("Header").Value;
                    lv_Goals.Groups.Add(ThisGroup);
                }
     
     
                foreach (XElement El2 in AGoal)
                {
                    foreach (XElement El in GoalsCat)
                    {
                        if (El.Attribute("Header").Value == El2.Attribute("Owner").Value)
                        {
                            ThisItem.Name = El2.Attribute("Name").Value;
                            ThisItem.Text = El2.Attribute("Text").Value;
                            ThisItem.Group = new ListViewGroup { Name = El.Attribute("Name").Value, Header = El.Attribute("Header").Value };
                            lv_Goals.Items.Add(ThisItem);
                        }
                    }
     
                }
     
            }
    Pour clarification, voici comment est crée le fichier XML où les données sont récupérées :
    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
     
    public void CreateGamesCategoriesXML(String mPath)
            {
     
                        //Creation de l'arboressence du fichier qui composera le jeu après
                        XDocument srcTree = new XDocument
                        (
                        // Creation de l'élément Root :
                        new XElement("Root", 
                           // Groupe de Catégorie Main Goal
                            new XElement("Goals", 
                                new XElement("Goal", new XAttribute("ID", "1"), new XAttribute("Name","But Principal")),
                                new XElement("Goal", new XAttribute("ID","2"), new XAttribute("Name","Buts Secondaires")),
                                new XElement("Goal", new XAttribute("ID","3"), new XAttribute("Name","Quêtes Tiers"))),
                            new XElement("Missions",
                                new XElement("Mission", new XAttribute("ID","1"), new XAttribute("Name","Sauver le monde")),
                                new XElement("Mission", new XAttribute("ID","2"), new XAttribute("Name","Pourrir la vie du voisin")),
                                new XElement("Mission", new XAttribute("ID","3"), new XAttribute("Name","Manger les écureuils roux"))),
                            new XElement("MissionsAttribs",
                                new XElement("Attrib", new XAttribute("MID", "1"), new XAttribute("GID", "1")),
                                new XElement("Attrib", new XAttribute("MID", "2"), new XAttribute("GID", "2")),
                                new XElement("Attrib", new XAttribute("MID", "3"), new XAttribute("GID", "3")))
                                ));
     
     
                        // Création du fichier XML !
                        srcTree.Save(mPath);
            }

    "sauver_le_monde" n'apparait pas dans : "But Principal" mais dans : "Default" au niveau de ma listview, ce qui n'a pas de sens vu ce que j’essaye de faire dans cette fonction.

    Merci d'avance à ceux qui prendront le temps de me donner un coup de main

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Par défaut
    as tu le meme probleme sur les autres titre?
    et pourquoi recrée tu un groupe (meme si il a les memes propriétés) à chaque fois?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 114
    Par défaut
    Salut !

    Merci pour avoir pris le temps de regarder, et mes excuses de ne pas avoir eu le temps de mon coté de classer ce post.

    Oui, j'avais le soucis sur tous les titres, mais voici le code qu'il fallait écrire :

    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
     
    public void lv_goals_fill()
            {
                XElement root = XElement.Load(mPath);
     
                ListViewGroup[] goals =
                    (from elGoal in root.Descendants("Goal")
                     select new ListViewGroup(elGoal.Attribute("Name").Value))
                     .ToArray();
     
                ListViewItem[] missions =
                    (from elAttrib in root.Descendants("Attrib")
                     from elMission in root.Descendants("Mission")
                     where elMission.Attribute("ID").Value == elAttrib.Attribute("MID").Value
                     from elGoal in root.Element("Goals").Elements()
                     where elGoal.Attribute("ID").Value == elAttrib.Attribute("GID").Value
                     from goal in goals
                     where elGoal.Attribute("Name").Value == goal.Header
                     select new ListViewItem(elMission.Attribute("Name").Value, goal))
                    .ToArray();
     
                lv_Goals.Groups.AddRange(goals);
                lv_Goals.Items.AddRange(missions);
            }
    Le problème venait de la manière dont sont traitée et parcourues les énumérations en mémoire.

    ^^". Je mets tout de suite le tag résolu !

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

Discussions similaires

  1. Impossible de lier rubrique à colonne de table
    Par Gaetch dans le forum HyperFileSQL
    Réponses: 6
    Dernier message: 21/08/2011, 03h04
  2. Style ListViewItem impossible de modifier le background
    Par skyline86 dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 30/12/2010, 16h49
  3. [AC-2007] Lier table - Impossible en mode exclusif
    Par francois78 dans le forum VBA Access
    Réponses: 4
    Dernier message: 27/01/2010, 21h16
  4. Impossible de lier Outlook 2007 à Access
    Par eidro dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 22/01/2009, 09h46
  5. [Kylix] Impossible de lier
    Par Scoobs dans le forum EDI
    Réponses: 2
    Dernier message: 20/05/2003, 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