SAUVER L'ARBORESCENCE D'UN TREEVIEW

acidburn23 Messages postés 9 Date d'inscription vendredi 3 mai 2002 Statut Membre Dernière intervention 29 mai 2002 - 14 mai 2002 à 13:36
acidburn23 Messages postés 9 Date d'inscription vendredi 3 mai 2002 Statut Membre Dernière intervention 29 mai 2002 - 14 mai 2002 à 20:29
Comment faire pour sauvegarder l'arborescence d'un treeview?

Merci d'avance

Voici l'arborescence de l'arbre:

Serveurs
+ PCTEST
+Groupe public
+Groupe privé
+PCTEST1
+Groupe public
+Groupe privé

2 réponses

cs_DeathAngel Messages postés 117 Date d'inscription vendredi 12 avril 2002 Statut Membre Dernière intervention 13 avril 2007
14 mai 2002 à 14:29
Salut,

Ca dépend comment tu veux la sauver : si c'est juste pour te rappeler la structure lors du prochain chargement, tu peux utiliser un fichier texte ayant comme structure :
Serveurs;0
PCTEST;1
Groupe public;1
...
où chaque ligne représente un noeud et chaque chiffre représente le niveau (0=racine)

Personnellement, je trouve encore plus simple au niveau maintenance de passer par une table (access ou autre) dans laquelle tu stocke 4 valeurs :
1) l'ordre d'apparition, qui va te permettre d'organiser ton arbre grâce à un tri
2) le nom du noeud
3) le niveau
4) un booléen pour savoir si le noeud est une feuille.

Dans ton cas, ca donne ca :
0;Serveurs;0;False
1;Groupe public;1;True
2;Groupe privé;1;False
etc...

L'utilité du premier champs est de pouvoir modifier l'ordre des noeuds sans te prendre la tête à faire des tests sur le nom dans le code.

C'est pas le top, mais ca fonctionne très bien, même avec de nombreux sous-niveaux.

Du coup, pas besoin de sauvegarde, tu n'as qu'à modifier directement dans la table.
Si tu es dans le cas d'un arbre dynamique qui change souvent, tu peux éventuellement faire une sauvegarde en parcourant ton arbre dans l'ordre, et en stockant les valeurs dans les champs :

for i=0 to N
'Mettre i dans le 1er champ
'Mettre le nom du noeud dans le 2ème champ
'Mettre le niveau...
'Mettre le booléen à jour
next i

Bon, si tu n'y arrives pas, maile - moi. ;)

Voilou,

@peluche et bon dev'
DA
0
acidburn23 Messages postés 9 Date d'inscription vendredi 3 mai 2002 Statut Membre Dernière intervention 29 mai 2002
14 mai 2002 à 20:29
Je te remercie pour tes conseils très utiles. Je vais essayer tout ça.

Merci encore.

@+
Acidburn
0
Rejoignez-nous