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

Résolu
GaD60 Messages postés 19 Date d'inscription lundi 21 juillet 2003 Statut Membre Dernière intervention 12 juillet 2007 - 1 août 2005 à 13:14
GaD60 Messages postés 19 Date d'inscription lundi 21 juillet 2003 Statut Membre Dernière intervention 12 juillet 2007 - 9 août 2005 à 16:49
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

cs_larrymax Messages postés 1 Date d'inscription mardi 9 août 2005 Statut Membre Dernière intervention 9 août 2005
9 août 2005 à 15:19
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
GaD60 Messages postés 19 Date d'inscription lundi 21 juillet 2003 Statut Membre Dernière intervention 12 juillet 2007
2 août 2005 à 09:00
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
0
GaD60 Messages postés 19 Date d'inscription lundi 21 juillet 2003 Statut Membre Dernière intervention 12 juillet 2007
9 août 2005 à 16:49
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
0
Rejoignez-nous