Récupérer le texte de toute la branche du node sélectionné [Résolu]

amel468 34 Messages postés vendredi 10 janvier 2003Date d'inscription 10 avril 2006 Dernière intervention - 23 août 2004 à 14:15 - Dernière réponse : mohamed_bn 47 Messages postés jeudi 9 novembre 2000Date d'inscription 10 septembre 2010 Dernière intervention
- 5 mars 2005 à 20:23
Bonjour,
je souhaite récupérer le texte de chaque node qui compose la branche de celui qui est selectionné.
exemple, si le node 0.0.1 est le node selectionné, je veux récupérer le texte du node 0 ainsi que du node 0.0 puis du node 0.0.1.

pour l'instant, j'arrive a récupérer uniquement le texte du node selectionné a l'aide de ce code:

choix3.Text= TreeView3.GetNodeFromIndex(TreeView3.SelectedNodeIndex).Text;

quelqu'un peut il m'aider ?

merci !!
Afficher la suite 

Votre réponse

8 réponses

amel468 34 Messages postés vendredi 10 janvier 2003Date d'inscription 10 avril 2006 Dernière intervention - 23 août 2004 à 17:52
+3
Utile
Merci pour cette indication ! J'ai réussi. Voici ma solution:

//index du node sélectionné
string node_select_index = TreeView3.GetNodeFromIndex(TreeView3.SelectedNodeIndex).GetNodeIndex();

//recupere le texte
choix3.Text = TreeView3.GetNodeFromIndex(TreeView3.SelectedNodeIndex).Text;

if (node_select_index.length != 1) //s'il y a d'autres niveaux
{
//remplit choix3.text avec l'arborescence complete du node sélectionné
construitArbo(node_select_index); //appel de la fonction récursive
}

La fonction construitArbo:
---------------------------------

private void construitArbo(String index)
//pour retrouver le chemin complet d'un node sélectionné dans le treeview 3
{
//index du dernier "." trouvé
int indP = index.LastIndexOf(".");
if (indP != -1) //il y a au moins un niveau inférieur
{
//Recupere l'index moins le dernier niveau
string ind1 = index.Substring(0,indP);
//récupere le texte
choix3.Text = TreeView3.GetNodeFromIndex(ind1).Text + " / " + choix3.Text;
construitArbo(ind1);//recommence pour le niveau inférieur
}
}
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de amel468
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 23 août 2004 à 14:28
0
Utile
avec la propriété Parent de chaque TreeNode tu pourras remonter la chaine jusqu'a la racine

sinon il y a la propriété FullPath

Cocoricoooooooo !!!!
Commenter la réponse de cs_coq
amel468 34 Messages postés vendredi 10 janvier 2003Date d'inscription 10 avril 2006 Dernière intervention - 23 août 2004 à 15:03
0
Utile
Merci de ta reponse !

Je suis aller sur MSDN pour en savoir plus sur la propriété FullPath dont tu m'as parlé... j'ai trouvé un bout de code qui m'interesse vachement, malheureusement, je ne comprend pas, lorsque j'ecris:

choix3.Text = TreeView3.SelectedNode.Fullpath;

j'obtiens l'erreur suivante:
'Microsoft.Web.UI.WebControls.TreeView' does not contain a definition for 'SelectedNode'

Est-ce que tu sais pourquoi ??
Commenter la réponse de amel468
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 23 août 2004 à 17:12
0
Utile
ah, tu travailles en webform, les classes ne sont pas identiques
donc regarde la doc pour le controle web, pas le controle winform

Cocoricoooooooo !!!!
Commenter la réponse de cs_coq
cs_Crazyht 1524 Messages postés mardi 18 décembre 2001Date d'inscription 21 août 2010 Dernière intervention - 23 août 2004 à 17:28
0
Utile
Avec une fonction recursive qui retire a chaque fois 1 niveau a l'index tu dois pouvoir facilement faire ca :)

A++

:-p Crazyht :)
MVP Visual C#.NET

[Admin Codes-Sources]
[Membre Developer-Association]
Commenter la réponse de cs_Crazyht
cs_Crazyht 1524 Messages postés mardi 18 décembre 2001Date d'inscription 21 août 2010 Dernière intervention - 23 août 2004 à 18:21
0
Utile
Attention avec : if (node_select_index.length != 1)

si tu as plus de 10 noeuds au premier niveau ca va partir en live, je te conseillerai de verifier plutot s'il y a encore un . dans l'index :)

A++

:-p Crazyht :)
MVP Visual C#.NET

[Admin Codes-Sources]
[Membre Developer-Association]
Commenter la réponse de cs_Crazyht
amel468 34 Messages postés vendredi 10 janvier 2003Date d'inscription 10 avril 2006 Dernière intervention - 24 août 2004 à 09:14
0
Utile
oui tu as raison...

voici donc la petite modification

if (node_select_index.LastIndexOf(".")!= -1)
{
//remplit choix3.text avec le chemin complet du node sélectionné
construitArbo(node_select_index);
}
Commenter la réponse de amel468
mohamed_bn 47 Messages postés jeudi 9 novembre 2000Date d'inscription 10 septembre 2010 Dernière intervention - 5 mars 2005 à 20:23
0
Utile
med belhassen

svp .
je veux utiliser le "treeview" dans mon application web. j'aime savoir dans quelle classe je peux trouver les fonctions qui traitent ceci.

Using ??

moi aussi j'ai besoins d'un tree view pour afficher le contenu d'un répertoire .
puis je veux récupérer le chemin complet d'un élément sélectionné.
si vous pouvez m'aider à le faire n'hésiter plus à me répondre ,svp !!

merci d'avance.
Commenter la réponse de mohamed_bn

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.