Einzelnen Beitrag anzeigen

jaikai

Registriert seit: 1. Jun 2005
70 Beiträge
 
#9

Re: TreeView mit 200.000 Einträge und nachladen

  Alt 24. Jan 2006, 21:38
Weiterführende Fragen zum Thema - weil ich total verwirrt und irgendwie orientierungslos geworden bin. In den Foren gibsts nur ansatzweise Abhilfe meines Problems.

Zitat:
xaromz --> dazu geht man folgendermaßen vor: Die Knoten der aktuellen Ebene erstellen. Nachschauen, welche Knoten Unterknoten besitzen. Dort jeweils einen Dummyknoten einfügen, damit ein Pluszeichen erscheint. Im OnChange-Ereignis prüfen, ob ein Dummyknoten existiert, dann diesen löschen und stattdessen die Ebene einlesen.
Ohne Betriebsgeheimnisse stehlen zu wollen:
Irgendwie ist mir nicht klar, wie ich die notwendige Datenstruktur hierzu erstellen muß. Ich habe 200.000 Einträge, die ich beliebig zusammenstellen kann. Als #09-Einrückern formatiert und load - benötigt der komplette Baum ca 20-30 sec. Einzelne Root-Zweige bis zu 8 sec. Das ist mir zu lang.

Oder aber wie diess (so wie ichs gern verwenden würde, weil ich hier das Icon, die passende Verlinkung und mehr bereits integrieren kann):

Delphi-Quellcode:
Datei Knoten
| | NodeText
| | |
00097498:00:Root-Knoten ganz unten (00) -> davon gibts 50 Stück
00097499:01:Unterknoten 0-1
00097500:02:Unterknoten 0-2
00097501:01:Unterknoten 0-3
00097502:02:Unterknoten 0-3-1
00097503:02:Unterknoten 0-3-2
00097504:03:Unterknoten 0-3-2-1
etc
Fragen:

--> Die Knoten der aktuellen Ebene erstellen...
Benötigt eine Datei mit diesem Index oder aber Handarbeit. Benötigen die SubEinträge denn ebenfalls jeweils Dateien, die geladen und eingefügt werden? Oder kann ich nicht dem Knoten so etwas wie einen neuen absoluten Index verpassen, der meinem zweiten Modell entspricht? Ich hab gelesen, ein Objekt zuordnen würde gehen, finde aber keine Hinweise, wie das geht.

--> Im OnChange-Ereignis prüfen, ob ein Dummyknoten(HasChildren)existiert
Nachfrage dessen ist mir klar - aber das ganze müßte dann wieder gestoppt werden. Also eine Begrenzung des füllens. Ebene einlesen - sieht wieder nach indizierten Dateien aus, oder Abfragen, ob der Sub-Eintrag noch Childs enthält, dann break. Ich will die Erzeugung von möglichen 200.000 Dateien vermeiden. Wie geht das?

Wenn ich keine Urheberrechte verletze, hat jemand ein paar Source-Beispiel für mich? Ich blick da nicht wirklich durch.

Danke

Wenn die Programme das machen, wie's wir machen, wären sie unbrauchbar...
  Mit Zitat antworten Zitat