Concaténation des string [Résolu]

Messages postés
33
Date d'inscription
vendredi 26 mars 2010
Statut
Membre
Dernière intervention
26 juillet 2010
- - Dernière réponse : yayasam
Messages postés
33
Date d'inscription
vendredi 26 mars 2010
Statut
Membre
Dernière intervention
26 juillet 2010
- 26 juil. 2010 à 16:39
salut,
j'ai un souci avec les string , dans un treeview j'ai une méthode récursive avec la quelle je récupère le parent( sous forme d'un string) de mon treeviewItem en suite le parent du parent, et je stoque ces string d'un autre string ce qui me construit le chemin de mon treeviewItem.
mon problème est que je récupère que le premier parent et pas le chemin complet.
private String getListParent(TreeViewItem currentItem, String path)
        {
            LOG.Debug("getlistParent started .....");
           
            TreeViewItem parent = new TreeViewItem();
            parent = getParentTreeViewItem(currentItem);
            String parentName = getNameOfParent(parent);
            path = parentName + "/" + path;        
            if(!parentName.Equals("racine"))
            {
               getListParent(parent,path);
                
             }           
            LOG.Debug("path in the end = " + path);            
            return path; 
                       
        }


voila un petit extrat de mon fichier de log
[b]path in the end= racine/dossier1/fichier1/
path in the end = dossier1/fichier1/
path in the end = fichier1//b

alors que le chemin correcte est celui ci : racine/dossier1/fichier1/

quelqu'un aurait une idée

merci
si on ne fait ce qu'on aime, il faut qu'on aime ce qu'on fait!
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
441
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
22 mai 2012
6
3
Merci
Nikel alors ;)
Bonne continuation...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 197 internautes nous ont dit merci ce mois-ci

Commenter la réponse de LUDINSKI
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
28
0
Merci
SI je comprend bien, tu as 3 niveaux dans ton treeview, donc tu appelle récursivement ta fonction 3 fois pour récupérer le chemin complet de ton item (Logique, quand tu nous tiens!!!).

Mais au 3ème appel, tu ne récupère pas le chemin complet comme espéré, mais uniquement le premier niveau, soit la racine.

Au tout 1er appel, tu récupère quoi ???
Au vu de l'extrait du fichier log publié, ça ressemble bizarrement au chemin complet tant attendu


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Commenter la réponse de cs_casy
Messages postés
441
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
22 mai 2012
6
0
Merci
Salut

Il existe la Propriété "FullPath" qui te retourne le chemin complet d'un TreeNode; en l'associant à la propriété PathSeparator du TreeView tu peux obtenir le chemin complet de ton noeud.

1. Tu positionnes PathSeparator à "/"
2. string tonChemin = treeView1.SelectedNode.FullPath;
Commenter la réponse de LUDINSKI
Messages postés
33
Date d'inscription
vendredi 26 mars 2010
Statut
Membre
Dernière intervention
26 juillet 2010
0
Merci
merci bcp pour vs réponse ça me donne des pistes de travail
pour casy : au tout remier appel je récupére le parent du treeviewItem courant, et pour ce parent je récupère son parent dans le 2éme appel c le résultat final qui est pas bon


pour LuDinsKi: ça me parrait intéressante l'idée du full path et du PathSeparator seulement que je trouve pas cette propriété dans mon contrôle
NB : je travaille avec les WPF.

merci bcp encore une fois

si on ne fait ce qu'on aime, il faut qu'on aime ce qu'on fait!
Commenter la réponse de yayasam
Messages postés
33
Date d'inscription
vendredi 26 mars 2010
Statut
Membre
Dernière intervention
26 juillet 2010
0
Merci
Enfin j'ai trouvé mon bonheur , c bon j'ai résolu mon problème juste on ménageant un peu mon code j'ai malheureusement pas trouvé la propriété du Fullpath ni PathSeparator que je fais à la main, mais bon ça marche mnt
voila mon nouveau code
 private String getListParent(TreeViewItem currentItem, String path)
        {
            LOG.Debug("getlistParent started .....");
           
            TreeViewItem parent = new TreeViewItem();
            parent = getParentTreeViewItem(currentItem);
            String parentName = getNameOfParent(parent);
            path = parentName;   
            if(!parentName.Equals("racine"))
            {               
                LOG.Debug("parent is not racine");
             
              path =  getListParent(parent,path)+"/"+path;
                
             }          
            return path;                       
        }

voila merci a vous tous a+
si on ne fait ce qu'on aime, il faut qu'on aime ce qu'on fait!
Commenter la réponse de yayasam
Messages postés
33
Date d'inscription
vendredi 26 mars 2010
Statut
Membre
Dernière intervention
26 juillet 2010
0
Merci
merci bcp, c'est toujours agréable de trouver des gens tellement généreux qui n'hésitent pas de prendre l'initiative de proposer leurs idées et leurs soutiens .

merci à vous tous
a+

si on ne fait ce qu'on aime, il faut qu'on aime ce qu'on fait!
Commenter la réponse de yayasam