[VB.NET] Mémoriser position du scrollbar dans un listview [Résolu]

Signaler
Messages postés
19
Date d'inscription
lundi 21 juillet 2003
Statut
Membre
Dernière intervention
12 juillet 2007
-
Messages postés
19
Date d'inscription
lundi 21 juillet 2003
Statut
Membre
Dernière intervention
12 juillet 2007
-
Salut à tous



Le titre n'est peut-être pas très clair. Je vais essayé de l'être dans mes explications.



J'ai un listview avec un scrollable en vertical, je voudrais mémoriser
la position du scrollbar pour que le listview me raffiche les mêmes
ligne à l'écran une fois ke j'ai fait une mise à jour du contenu (de la
base de données).



Exemple : j'ai dans mon listview mon scrollbar positionner pour voir
les lignes 40 à 120, j'ouvre une autre fenetre (qui ferme justement
celle avec le listview) le temps de la modif et je voudrais retrouver
le scrollbar à nouveau dans la même position et ne pas avoir à le
redescendre pour retrouver les lignes 40 à 120



J'ai bien trouvé listview.topindex mais il est en lecture seule. J'ai
essayé listview1.Items.Item(i).Focused = true et pas de résultat
visible.

G vu qu'on pouvait aussi insérer des objets srollbars verticales
(vscrollbar) mais je ne sais pas toujours plus relier à la position du
scrollbar à celui des index dans la listbox.



Dernière chose, je travaille sous vb.net 2003



J'sais pas si g été clair.

SeB

3 réponses

Messages postés
1
Date d'inscription
mardi 9 août 2005
Statut
Membre
Dernière intervention
9 août 2005

Salut,
J'ai eu le meme pb : voici comment j'ai résolu le souci :
* tu définis une var globale (global num_ligne as long)
* sur le click, tu fais
num_ligne=list1.listindex+1
*..... la suite de ton prog .....
* quand tu reviens sur ta form avec ta list1 (dans ta form_load en précisant que tu reviens d'un traitement)
list1.ListIndex = num_ligne

************** ATTENTION **************

Si dans ton traitement, tu supprimes la ligne et que c'est la dernière, il faut prévoir -1 !!!

VOILA !!! <;o)
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 108 internautes nous ont dit merci ce mois-ci

Messages postés
19
Date d'inscription
lundi 21 juillet 2003
Statut
Membre
Dernière intervention
12 juillet 2007

Toujours aucune idée?

J'ai continué à chercher, j'ai trouvé 2 autres méthodes mais qui est sans effet visible : Listbox1.Items.Item(70).EnsureVisible()

ListBox1.TopItem.SubItems(70).ResetStyle()



Si quelqu'un a une idée, elle serait la bienvenue. Je commence à me
demander s'il n'y aurait pas un bug ou un truc qui bloque ces fonctions
parce qu'en principe elle serait faite pour ça.



SeB
Messages postés
19
Date d'inscription
lundi 21 juillet 2003
Statut
Membre
Dernière intervention
12 juillet 2007

Merci Larrymax

J'avais pas vu nan plus qu'on pouvais avoir listindex.
Entretemps, ce matin, j'ai régénéré ma solution et là Listbox1.Items.Item(70).EnsureVisible() a fait son effet. Déjà, ça me soulage. Mais j'vais quand même essayé ta soluc.

Merci encore

@+, SeB