ListView monter descendre l'index

Résolu
jsmeiway Messages postés 32 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 9 septembre 2005 - 14 janv. 2005 à 09:58
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 14 janv. 2005 à 19:38
Bonjour,

1/
J'aimerais sur une listview avec par exemple 3 lignes A, B, C
pouvoir monter le B à la place du A ou descendre le B à la place du C

2/
je sais faire un remove, et au cas où j'aimerais savoir comment on rajoute ou plutôt comment on insèere entre 2 lignes

merci d'avance

mytoo vmeiway

4 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
14 janv. 2005 à 14:19
1)
pour monter une Ligne il faut intervertir toutes les zones avec la Ligne précédente, et pour descendre avec la Ligne suivante. mais si la propriété Sorted est à true les Lignes vont se remettre dans l'ordre qu'elle étaient.

2)
pour insérer un item entre l'index 1 et l'index 2
ListView.ListItems.Add 2,, "mon texte"

Daniel
3
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
14 janv. 2005 à 19:38
pour le add sur une seule ligne non ça correpond pas.
ListView.ListItems.Add Index, Key, texte, Icon, SmallIcon

je crois bien qu'on est obligé de faire en plusieurs fois
ta méthode est valable, en voici une autre:
Dim Ligne As ListItem
Set Ligne = ListView.ListItems.Add(, , "colonne 0")
Ligne.SubItems(1) = "colonne 1"
Ligne.SubItems(2) = "colonne 2"

etc...

Daniel
3
jsmeiway Messages postés 32 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 9 septembre 2005
14 janv. 2005 à 10:10
j'ai trouvé un moyen mais j'espère avoir une réponse plus simple

je renomme temporairement A en B et B en A
puis je fais un
listview
.Sorted = False
listview
.Sorted = True

je ne pense pas avoir trouvé la meilleur méthode

mytoo vmeiway
0
jsmeiway Messages postés 32 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 9 septembre 2005
14 janv. 2005 à 19:06
merci Gobillot

pour ta réponse 2
Tu m'as éclairci, je me disais bien que j'avais déjà vu çà
ListView.ListItems.Add 2,, "mon texte"

si j'ai 3 ou 4 colonne
je dois faire ListView.ListItems.Add 2,, "mon texte", "mon texte", "mon textecol3", "col4"?

car moi j'utilise un truc de ce genre
With ListView.ListItems.Add
.text
.subitems(1)
...


End With

mytoo vmeiway
0