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

Signaler
Messages postés
34
Date d'inscription
vendredi 10 janvier 2003
Statut
Membre
Dernière intervention
10 avril 2006
-
mohamed_bn
Messages postés
47
Date d'inscription
jeudi 9 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
-
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 !!

8 réponses

Messages postés
34
Date d'inscription
vendredi 10 janvier 2003
Statut
Membre
Dernière intervention
10 avril 2006
1
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
}
}
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
75
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 !!!!
Messages postés
34
Date d'inscription
vendredi 10 janvier 2003
Statut
Membre
Dernière intervention
10 avril 2006
1
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 ??
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
75
ah, tu travailles en webform, les classes ne sont pas identiques
donc regarde la doc pour le controle web, pas le controle winform

Cocoricoooooooo !!!!
Messages postés
1522
Date d'inscription
mardi 18 décembre 2001
Statut
Modérateur
Dernière intervention
21 août 2010
4
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]
Messages postés
1522
Date d'inscription
mardi 18 décembre 2001
Statut
Modérateur
Dernière intervention
21 août 2010
4
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]
Messages postés
34
Date d'inscription
vendredi 10 janvier 2003
Statut
Membre
Dernière intervention
10 avril 2006
1
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);
}
Messages postés
47
Date d'inscription
jeudi 9 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010

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.