Créer treeview dynamiquement

cs_yassineee Messages postés 90 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 14 juin 2010 - 17 juin 2009 à 17:54
chankotyy Messages postés 16 Date d'inscription vendredi 30 juin 2006 Statut Membre Dernière intervention 4 mai 2010 - 1 avril 2010 à 11:11
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

cs_yassineee Messages postés 90 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 14 juin 2010 1
18 juin 2009 à 12:46
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 ...
0
chankotyy Messages postés 16 Date d'inscription vendredi 30 juin 2006 Statut Membre Dernière intervention 4 mai 2010
31 mars 2010 à 13:41
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
0
chankotyy Messages postés 16 Date d'inscription vendredi 30 juin 2006 Statut Membre Dernière intervention 4 mai 2010
1 avril 2010 à 11:11
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
0
Rejoignez-nous