Déplacement de lignes dans une listView
Bonjour
Voila mon problème : Je voudrais pouvoir modifier la position d'éléments contenus dans un ListView.
Jusque là aucun problème.
Ça se complique quand mes éléments sont affectés à des groupes. Si j'essaye d'ordonner les éléments à l'intérieur du groupe, l'élément que je déplace se retrouve toujours à la fin du groupe visuellement mais est bien positionné dans la liste ListViewGroup.Items
Par exemple, si ma liste contient les éléments suivants :
Code:
1 2 3 4
| Elément 1
Elément 2
Elément 3
Elément 4 |
Voici le bout de code qui permet de déplacer "Element 1" vers le bas
Code:
1 2 3 4 5
| ListViewItem item = listView.Items[0];
ListViewGroup group = item.Group;
listView.Items.RemoveAt(0);
listView.Items.Insert(1, item);
group.Items.Insert(1, item); |
group.Items possèdent alors les éléments suivants :
Code:
1 2 3 4
| Elément 2
Elément 1
Elément 3
Elément 4 |
Mais visuellement, je vois les éléments dans cet ordre là :
Code:
1 2 3 4
| Elément 2
Elément 3
Elément 4
Elément 1 |
"Elément 1" se retrouve à la fin au lieu d'être en 2ème position.
J'ai essayé plusieurs solutions sans résultat (parfois même l'élément disparait)
Quelqu'un a-t-il une idée ?
Merci