Créer treeview dynamiquement

Signaler
Messages postés
90
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
14 juin 2010
-
Messages postés
16
Date d'inscription
vendredi 30 juin 2006
Statut
Membre
Dernière intervention
4 mai 2010
-
Salut, Je souhaite créer un treeview dynamiquement.

Ce treeview est composer d'un ensemble de répertoire et de fichier(pdf,doc,...)

je souhaiterais savoir s'il a une solution simple pour gérer le cas
d'un répertoire et d'un sous répertoire (comment afficher cette
arborescence ??) répertoire sous répertoire...


J'ai déjà traiter ces cas quand j'étais en 2éme année (cour structure
de données) on a fait cela avec le langage c et les pointeurs ...


donc avec c# es qu'il a une solution simple a cela ???

3 réponses

Messages postés
90
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
14 juin 2010
1
salut J'ai réussi a affiché les répertoires Racine avec leur documents (mais non pas les sous répertoire)

donc voici le code source:

Code :
 
privatevoid AddDirectoryAndNode(TreeNode ParentNode, string DirectoryPath)
{
string[] directories = Directory.GetDirectories(DirectoryPath);

foreach(string childDirectoryPath in directories)
{
TreeNode childNode = new TreeNode(childDirectoryPath);
ParentNode.ChildNodes.Add(childNode);
AddFilesToNode(childNode, childDirectoryPath);
}
}
 
 
privatevoid AddFilesToNode(TreeNode ParentNode, string FilePath)
{
string[] files = Directory.GetFiles(FilePath);
foreach(string childfile in files)
{
TreeNode childNode = new TreeNode(childfile);
ParentNode.ChildNodes.Add(childNode);
 
}
}
 

Code :
 
protectedvoid Button1_Click(object sender, EventArgs e)
{
TreeNode initialNode;
 
string initialDirectory = @"C:\test_treeview";
 
initialNode = new TreeNode(initialDirectory);
TreeView1.Nodes.Add(initialNode);
AddDirectoryAndNode(initialNode, initialDirectory);
}
 

Donc ce qui manque l'affichage des sous répertoires ...
Messages postés
16
Date d'inscription
vendredi 30 juin 2006
Statut
Membre
Dernière intervention
4 mai 2010

Bonjour yassineee, j'ai tester ton code ça marche très bien, mais il m'affiche juste le répertoire racine avec ses sous repertoires sans lister les autres docuements et fichiers ( c'est le contraire de ton cas ).
Et pour chaque sous répertoire, il 'affiche juste les fichiers qui contient et pas ses sous répertoire.

C'est agréable, merci infiniment yassineee
Messages postés
16
Date d'inscription
vendredi 30 juin 2006
Statut
Membre
Dernière intervention
4 mai 2010

Bonjour yassineee, voici la solution de ton problème, il suffit décrire :

protectedvoid Button1_Click(object sender, EventArgs e)
{
TreeNode initialNode;
string initialDirectory = @"C:\test_treeview";
initialNode = new TreeNode(initialDirectory);
TreeView1.Nodes.Add(initialNode);
AddDirectoryAndNode(initialNode, initialDirectory);
AddFilesToNode(initialNode, initialDirectory);
}

pour que ton programme affiche les répertoires de ton répertoire parent+les fichiers.

Mais il me reste un problème qui me bloque c'est que le Treeview m'affiche le chemin complet des répertoires ainsi les fichiers.
Comment puisse je résoudre ce problème, càd afficher juste les noms des répertoires et pas leurs chemin complet????

Merci