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

Messages postés
34
Date d'inscription
vendredi 10 janvier 2003
Dernière intervention
10 avril 2006
- 23 août 2004 à 14:15 - Dernière réponse :
Messages postés
47
Date d'inscription
jeudi 9 novembre 2000
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 !!
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
34
Date d'inscription
vendredi 10 janvier 2003
Dernière intervention
10 avril 2006
- 23 août 2004 à 17:52
3
Merci
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
}
}

Merci amel468 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de amel468
Messages postés
6366
Date d'inscription
samedi 1 juin 2002
Dernière intervention
2 août 2014
- 23 août 2004 à 14:28
0
Merci
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
Messages postés
34
Date d'inscription
vendredi 10 janvier 2003
Dernière intervention
10 avril 2006
- 23 août 2004 à 15:03
0
Merci
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
Messages postés
6366
Date d'inscription
samedi 1 juin 2002
Dernière intervention
2 août 2014
- 23 août 2004 à 17:12
0
Merci
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
Messages postés
1523
Date d'inscription
mardi 18 décembre 2001
Dernière intervention
21 août 2010
- 23 août 2004 à 17:28
0
Merci
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
Messages postés
1523
Date d'inscription
mardi 18 décembre 2001
Dernière intervention
21 août 2010
- 23 août 2004 à 18:21
0
Merci
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
Messages postés
34
Date d'inscription
vendredi 10 janvier 2003
Dernière intervention
10 avril 2006
- 24 août 2004 à 09:14
0
Merci
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
Messages postés
47
Date d'inscription
jeudi 9 novembre 2000
Dernière intervention
10 septembre 2010
- 5 mars 2005 à 20:23
0
Merci
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.