Bonjour,
je fait un foreach sur les groups des items de ma listview .
Je peux modifier le nombre de groups donc ma collection .
Mais j'ai un message d'erreur dans mon foreach contenant ma collection
Comment remedier a ça ?
Merci
Version imprimable
Bonjour,
je fait un foreach sur les groups des items de ma listview .
Je peux modifier le nombre de groups donc ma collection .
Mais j'ai un message d'erreur dans mon foreach contenant ma collection
Comment remedier a ça ?
Merci
Bonjour
tu peux nous montrer la capture d'écran de ton message d'erreur ou bien tu nous expliques un peu plus ta problématique car j'arrive pas à comprendre ta demande clairement
Merci de votre collaboration
Cdt ,
Salut,
Si tu fais un foreach sur une collection, tu ne peux pas modifier cette collection le temps de la boucle. Tu peux généralement t'en sortir avec un for ou en utilisant une collection temporaire. Tu peux voir un exemple (Tip: Modifying the Collection/Array) en bas de page du lien suivant :
http://msdn.microsoft.com/en-us/libr...8VS.80%29.aspx
Bonjour
oui tout à fait , on doit attendre que la boucle termine avant d'essayer à insérer des éléments dans notre Collection
ce que je constate que tu veux faire une chose pareille
Explique moi bien Stp :ccool:
Bien à vous
Cdt ,
Sinon, tu crées une deuxieme collection qui est le résultat du tri de la premiere... Ensuite, tu écrases la première avec la deuxieme...
j'ai fais ceci mais je peux pas reprendre la meme variable groupcuisine dans mon deuxieme foreachCode:
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61 System.Collections.Generic.List<ListViewGroup> toRemove = new System.Collections.Generic.List<ListViewGroup> (); ListViewGroupCollection[] toNew = new ListViewGroupCollection[this.Groups.Count]; // ListViewGroupCollection toRemove = null; // toRemove = this.Groups; // ListViewGroupCollection toNew = new ]; //toNew = this.Groups; /* foreach (ListViewGroup groupcuisine in toRemove) { this.Groups.Remove(groupcuisine); } */ foreach (ListViewGroup groupcuisine in this.Groups) { //this.listView2.Items.Clear(); for (int i90 = 0; i90 < this.Items.Count; i90++) { ListViewGroup testgroup = new ListViewGroup(this.Items[i90].SubItems[5].Text, HorizontalAlignment.Left); if (testgroup != null) { if (testgroup.ToString() == groupcuisine.ToString()) { this.Items[i90].Group = groupcuisine; toRemove.Add(groupcuisine); } else { //ListViewGroup testgroup = new ListViewGroup(li.SubItems[subItemSelected].Text, HorizontalAlignment.Left); //MessageBox.Show(textBoxDesignation.Text + " a été ajouté correctement à la désignation", "Modification Designation", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Groups.Insert(0, testgroup); this.li.Group = testgroup; toRemove.Add(groupcuisine); } } else { //ListViewGroup testgroup = new ListViewGroup(li.SubItems[subItemSelected].Text, HorizontalAlignment.Left); //MessageBox.Show(textBoxDesignation.Text + " a été ajouté correctement à la désignation", "Modification Designation", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Groups.Insert(0, testgroup); this.li.Group = testgroup; toRemove.Add(groupcuisine); } foreach (ListViewGroup groupcuisine in toRemove) { this.Groups.Remove(groupcuisine); } } }
Salut,
T'es toujours dans le premier foreach...
j'ai essayé en dehors ca marche pas non plus