Concaténation des string

Résolu
yayasam Messages postés 33 Date d'inscription vendredi 26 mars 2010 Statut Membre Dernière intervention 26 juillet 2010 - 26 juil. 2010 à 12:23
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!

6 réponses

LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 8
26 juil. 2010 à 16:15
Nikel alors ;)
Bonne continuation...
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
26 juil. 2010 à 13:32
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
0
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 8
26 juil. 2010 à 13:34
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;
0
yayasam Messages postés 33 Date d'inscription vendredi 26 mars 2010 Statut Membre Dernière intervention 26 juillet 2010
26 juil. 2010 à 14:11
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!
0

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

Posez votre question
yayasam Messages postés 33 Date d'inscription vendredi 26 mars 2010 Statut Membre Dernière intervention 26 juillet 2010
26 juil. 2010 à 14:51
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!
0
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
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!
0
Rejoignez-nous