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

GaD60 19 Messages postés lundi 21 juillet 2003Date d'inscription 12 juillet 2007 Dernière intervention - 1 août 2005 à 13:14 - Dernière réponse : GaD60 19 Messages postés lundi 21 juillet 2003Date d'inscription 12 juillet 2007 Dernière intervention
- 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
Afficher la suite 

3 réponses

cs_larrymax 1 Messages postés mardi 9 août 2005Date d'inscription 9 août 2005 Dernière intervention - 9 août 2005 à 15:19
+3
Utile
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)
Cette réponse vous a-t-elle aidé ?  
GaD60 19 Messages postés lundi 21 juillet 2003Date d'inscription 12 juillet 2007 Dernière intervention - 2 août 2005 à 09:00
0
Utile
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
GaD60 19 Messages postés lundi 21 juillet 2003Date d'inscription 12 juillet 2007 Dernière intervention - 9 août 2005 à 16:49
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.