16. september 2003 - 15:59Der er
5 kommentarer og 1 løsning
Liste alle filer og foldere i et treeView
Jeg sidder og tumler lidt med at lave en filoversigt a'la Explore på windows. Det vil sige et treeview hvor man starter et givet sted på disken og alle mapper og filer under dette sted bliver præsenteret i et treeview (skal virke rekursivt). Jeg har nogle problemer med at liste filerne sammen med den mappe de hører til.
Det jeg har er en rekursiv metode til at åbne de enkelte mapper og tilføje dem til træet:
pseudo kode:
private void lavTrae(string sti) { if(der stadig er noget i underliggende struktur) { Arraylist mineDirs=hent_alle_directories(); ArrayList mineFiler=hent_alle_filer(); for(int i=0;i<mineDirs.length;i++) { treeView.Nodes.add(mineDirs); for(int j=0;j<mineFiler.length;j++) { treeView.Nodes.add(mineFiler); } } lavTrae(mineDirs[i].Name) } }
problemet er ikke at traversere alle mapper og foldere igennem, men at få oprettet mine filer på det rigtige sted i træet. Det vil sige at i første niveau skal de oprettes i: treeView1.Nodes.Add("niveau 1"); På andet niveau skal den hedde treeView1.Nodes[et_index].Nodes.Add("niveau 2"); og igen på level tre: treeView1.Nodes[et_index].Nodes[et_index].Nodes.Add("niveau 2"); Mit spørgsmål er nu, hvordan kan jeg nemt gøre dette, samt hvordan kan jeg styre hvilket niveau jeg er på, dvs hvor mange nodes[index] skal der stå. Hvis der er en nemmere måde ser jeg den gerne, samt måske et lille kode eksempel, tak :-)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.