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

Résolu
amel468 Messages postés 34 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 10 avril 2006 - 23 août 2004 à 14:15
mohamed_bn Messages postés 47 Date d'inscription jeudi 9 novembre 2000 Statut Membre Dernière intervention 10 septembre 2010 - 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 !!

8 réponses

amel468 Messages postés 34 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 10 avril 2006 1
23 août 2004 à 17:52
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
}
}
3
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
23 août 2004 à 14:28
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 !!!!
0
amel468 Messages postés 34 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 10 avril 2006 1
23 août 2004 à 15:03
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 ??
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
23 août 2004 à 17:12
ah, tu travailles en webform, les classes ne sont pas identiques
donc regarde la doc pour le controle web, pas le controle winform

Cocoricoooooooo !!!!
0

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

Posez votre question
cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
23 août 2004 à 17:28
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]
0
cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
23 août 2004 à 18:21
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]
0
amel468 Messages postés 34 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 10 avril 2006 1
24 août 2004 à 09:14
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);
}
0
mohamed_bn Messages postés 47 Date d'inscription jeudi 9 novembre 2000 Statut Membre Dernière intervention 10 septembre 2010
5 mars 2005 à 20:23
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.
0
Rejoignez-nous