Entwickler-Ecke
WinForms - Ordner und Dateien in Listview auflisten (schnellstmöglich)
Jimmy123 - Fr 14.07.17 11:32
Titel: Ordner und Dateien in Listview auflisten (schnellstmöglich)
Hallo Zusammen,
gibt es irgendein Algorythmus oder eine Möglichkeit alle Daten und Ordner im Listview Object schnellstmöglich anzuzeigen?
Ich meine jetzt nicht: (ist sehr langsam)
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| string dirPath = @"Pfad mit 1000. Dateien";
List<string> dirs = new List<string>(Directory.EnumerateDirectories(dirPath, "*", SearchOption.AllDirectories));
foreach (var dir in dirs) { listview1.Items.Add(dir.Substring(dir.LastIndexOf("\\") + 1)); count++; } listview1.Items.Add("FERTIG " + " Count: " + count); |
Der Ordner beinhaltet 1000de Dateien in 100. Ordnern. Wenn ich das so starte, brauche ich selbst mit einem Core i7 und 16GB Arbeitsspeicher Minuten.
Vielen Dank...
Jimmy
Moderiert von Christian S.: C#-Tags hinzugefügt
Th69 - Fr 14.07.17 13:38
Außerdem blockierst du ja währenddessen die gesamte UI, d.h. IO-Zugriffe und UI sollten in unabhängigen Codeteilen (und Threads/Tasks) ausgeführt werden.
Und ich stimme Ralf zu, daß man soviele Daten nicht auf einmal anzeigen sollte.
Jimmy123 - Fr 14.07.17 16:31
Deine Idee mit dem VirtualMode war super!
Dadurch bin ich auf folgenden Artikel gestoßen:
http://geekswithblogs.net/akraus1/archive/2010/06/21/140545.aspx
Das habe ich dann meinen Bedürfnissen mit einer "foreach" Schleife angepasst. 12.000 Dateien in 1 sek. Genau das was ich wollte.
Somit wäre das Ganze für mich erledigt. Bei Fragen gerne melden.
Danke nochmal!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!