Treeview

cs_erwan35 Messages postés 57 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 21 avril 2006 - 14 nov. 2003 à 16:12
cs_erwan35 Messages postés 57 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 21 avril 2006 - 17 nov. 2003 à 22:34
Bonjour à tous,
Mon prog rempli un treeview grâce à une base de données ACCESS. Il y a environ 1500 noeuds dans ce treeview.
Lorsqu'un utilisateur clique sur le bouton actualiser, je dois supprimer tous les noeuds du treeview puis reexecuter la requête pour remplir le treeview.
J'utilise l'instruction Treeview.nodes.clear.
Mon problème est que l'effacement des noeuds est très long(environ 15 secondes) car il les efface un à un.
Y a t'il un moyen d'initialiser le treeview beaucoup plus rapidement, genre un reset ou autre?
Merci d'avance.
Erwan

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
14 nov. 2003 à 19:27
Salut erwan35
Deux idées :
-1- Les noeuds de ton TV sont surement par ordre alphabétique. Au moment de la mise à jour, tu regardes si le noeud existe déjà et tu sautes, ou tu l'insères. Si un noeud existe alors qu'il n'est pas dans la mise à jour, tu l'effaces.
-2- Tu crées un 2è TV (indexé, plus facile à gérer) invisible. Tu fais la Mise à jour avec ce 2è TV, tu l'affiches à la place du 1er, et en arrière plan, tu vides le 1er.

Vala
Jack
0
cs_erwan35 Messages postés 57 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 21 avril 2006
17 nov. 2003 à 22:34
Merci pour ta réponse Jack,
Ta seconde proposition m'intéresse car je suis débutant et la première me parrait complexe!
Comment fais tu pour vider le treeview en arrière plan?
Lors de la réinitialisation je ne peux rien faire le prgm est bloqué et toute la ressource est utilisée.
0
Rejoignez-nous