Transférer un xml dans un treeview

Résolu
Diver772 Messages postés 8 Date d'inscription jeudi 18 mai 2006 Statut Membre Dernière intervention 19 novembre 2007 - 11 nov. 2007 à 09:50
Diver772 Messages postés 8 Date d'inscription jeudi 18 mai 2006 Statut Membre Dernière intervention 19 novembre 2007 - 13 nov. 2007 à 18:01
bonjour,
je ne suis pas un specialiste du développement et après avoir passé qq jours à essayer de solder mon pb je séche. J'en appelle donc aux spécialistes.
voici mon pb:
j'ai un fichier xml que je veux transférer dans un treeview.
voici la structure du xml
<Description></Description>
<Date></Date>
<Datas>
   <Data>
      <Description></Description>
      
         <List>
            
            
            </List>
      
   </Data>
</Datas>

1. au niveau de la methode est il préférable de lire le xml et d'afficher les noeuds dans le treeview au fur et à mesure de la lecture ou de lire le xml dans une mémoire tampon et de la charger dans le treeview?

2. au cas où se serait la 2eme solution, est il préférable de créer une structure ou une classe? Pouvez vous me donner un début de code qui permettrait de transférer dan la classe mon xml, car là je séche completement.
merci d'avance.

6 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
11 nov. 2007 à 14:58
Salut

Peux-etre que le projet http://www.codeplex.com/ohds

repond à ta question.

Pour le chargement si tu charges directement un treeview à la main,
il faut en windows forms rendre le controle inactif (au niveau rendu
avec la methode beginupdate et endupdate, il me semble de cette
maniere les appels au rendu sont suspendu, et donc le chargement
est n * plus rapide.

Ensuite il l'arbre en conséquent, il ne faut pas charger tous les
niveaux, mais charger les niveaux lorsque le niveau est développé.

http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpref/html/frlrfSystemWindowsFormsTreeViewClassTopic.asp

Bon courage.
3
Diver772 Messages postés 8 Date d'inscription jeudi 18 mai 2006 Statut Membre Dernière intervention 19 novembre 2007
12 nov. 2007 à 10:51
Bonjour,

merci pour ta réponse, malheureusement je n'ai rien capté concernant le codage ASP. Ca dépasse carrément mes compétence de ce que j'ai compris c'est utilisé pour des sources pour le net. Moi dans mon appli, j'ai le fichier xml sur un disque et non sur un espace internet.
Sinon en effet j'avais ajouté les beginupdate et en update et finalement je lis mon fichier xml, je transfère les données dans un tableau de string et après je crée mon treeview à partir du tableau.
Ce n'est peut être pas professionnel mais ca à l'air de marcher. Je pensais simplement qu'il était préférable de créer une classe pour tranférer les données.

merci de ton aide.
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
12 nov. 2007 à 17:27
Salut

J'ai pas trop compris ce que tu racontes.

1 --> Tu es en windows forms apparament, dans ce cas le source hierarchique ne semble pas exister.

Apres pour ton histoire de classe de chargement, je ne vois pas trop ce que tu veux.
0
Diver772 Messages postés 8 Date d'inscription jeudi 18 mai 2006 Statut Membre Dernière intervention 19 novembre 2007
13 nov. 2007 à 09:47
Bonjour,

désolé ne n'être pas très clair car à force plus je lis des truc moins j'y comprends quelque chose.
en fait je n'ai pas compris dans ton précédent mail c'est le rapport entre ASP.net et mon treview, excuse mon ignorance. 
pour être plus clair: je travaille sous vb 2005 dans un windows form. dans ce dernier j'ai un treeview dasn lequel je veux y mettre le contenu de mon fichier xml (voir 1er mail pour arborescence). Ce que je veux afficher dans mon treeviewc'est de la forme suivante:

Data1
   Item1
   ...
   Itemn
Data2
   Item1
   ...
   Itemn
...

J'ai donc une sub dans mon form qui traite l'affichage des données et une fonction dans un module générique qui récupère les données du xml et les envoie dans la sub.
En ce qui concerne la lecture du fichier xml, là pas de pb j'ai réussi. Là où je pêche un peu c'est pour le stockage des données en vue de leur transfert. J'ai analysé l'exemple que tu m'a envoyé, à priori il faut que je crée un arraylist (ce qui répond à ma question faut il utiliser un classe ; oui une arraylist) pour stocker les datas et un ou plusieurs tableau pour les items en rapport avec chaque data. J'ai bien compris?
j'ai réussi à transférer cette list array dans ma sub mais j'ai des pb pour créer l'arbre car pour le moment, j'ai dans ma arraylist la structure suivante:
rang0(data0)
rang1(un tableau d'item)
rang2(Data1)
rang3(un tableau d'item)
....
je ne suis pas sûr en fait qu'il faille que je copie les tableaux d'items dans ma arraylist car mon pb aujourd'hui est que je ne peux pas extraire les tableaux d'item de ma arraylist pour les afficher dans mon treeview.
Voilà j'espère que c'est plus clair, peut être as tu une suggestion à me faire?

encore merci pour ton aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
13 nov. 2007 à 10:03
Salut,

Il est pas nécéssaire de passer par une arraylist.
Regardes le source suivnat
http://files.codes-sources.com/fichier.aspx?id=17256&f=XmlToTree%5cForm1.vb

Il faut charger ton treeview par recursivité
cad AddNode appelle AddNode

Pour asp.net, je ne savais pas que tu etais en windows forms, à l'epoque, c'est pour ca que je t'avais donné l'exemple, tu peux mapper directement un fichier xml sur un treeview (pour faire des menu par exemple.

That's all.
0
Diver772 Messages postés 8 Date d'inscription jeudi 18 mai 2006 Statut Membre Dernière intervention 19 novembre 2007
13 nov. 2007 à 18:01
Bonjour,

merci pour ton support cela ressemble à ce qu'il me faut.
je vais analyser cela de plus près
encore merci.
0
Rejoignez-nous