![]() |
VirtualTreeView > Baumstruktur > DatenBank
Hallo Laute
Ich Beschäftige mich seit geraumer Zeit mit dem VirtualTreeView von Mike Lischke ( ![]() Es ist eine wirklich gelungen Komponente mit sehr vielen Extras und einstellungs- Möglichkeiten. Was bei mir leider überhaupt nicht in meine Schädel will, ist wie muss eine DatenBank aufgebaut sein das ich ein Baumstruktur daraus auslesen kann. Das Tutorial von ![]() Hat jemand ein kleines Demo wo ich mir den Aufbau der Daten Struktur anschauen kann. Ich sehe leider den zusammenhang zwischen den Nodes und der DatenBank leider nicht. :wall: Für einen Tipp oder eine Anregung währe ich sehr Dankbar. Gruß Tau |
Re: VirtualTreeView > Baumstruktur > DatenBank
Hallo Tau,
scghau Dir doch einmal das ![]() |
Re: VirtualTreeView > Baumstruktur > DatenBank
Hallo Tau,
ich kenne die angesprochene Komponente nicht. Aber der Zusammenhang zwischen Nodes und Datenbankfeldern ist folgender. Du brauchst min. zwei Felder um eine Baumstruktur in einer Tabelle abzubilden. In einem speicherst Du einen eindeutigen Wert für jeden Datensatz. Das wäre in meiner Terminologie die ID. Dafür eignet sich besonders gut ein AutoInc Feld. Im zweiten Feld speicherst Du dann die ParentID. Diese beiden Werte beschreiben ein Node in einem Baum. Die ParentID eines Nodes(A) ist die ID des Nodes(B) unter dem der Node(A) im Baum hängen soll. Hier ein kleines Beispiel:
Code:
Der Baum dazu würde dann folgendermaßen aussehen
ID | ParentID | Text
1 0 Node1 2 1 Node2 3 2 Node3 4 1 Node4 Die Parent ID 0 steht für die Wurzel des Baumes
Code:
Der Trick ist es jetzt die Tabelle so auszulesen, das z.B. in einem TreeView der Baum entsteht.
Node1
| |--Node2 | | | |-Node3 | |--Node4 |
Re: VirtualTreeView > Baumstruktur > DatenBank
Hallo APP u. Jens
APP Das Demo von Mikes Homepage kenne ich bereits. Das Problem dabei ist, das die Daten wie in einen Grid eingelesen und leider nicht in einer Baumstruktur. Trotzdem Danke. Jens Danke für die anschauliche Demonstration. Sie hat mir sehr geholfen zu verstehen, wie das Verhältnis zwischen der DatenBank und der Baumstruktur aussehen muss. Trotzdem bleibt noch die Frage offen wie ich das VirtualTreeView und die DatenBank verbinden muss um die gewünschte Baumstruktur zu erhalten. Habe leider keinen Ansatz wie ich das bewerkstelligen soll. :wall: Gruß Tau |
Re: VirtualTreeView > Baumstruktur > DatenBank
Hallo tau,
dmit wir dein problem nachvollziehen können müsstest du uns mitteilen wie du denn deine Daten in der datenbank ablegt hast und welche vorstellung du von der Baumstruktur hast. simples beipspiel: Es sollen Alle Kunden im Baum mit Ihren auftraegen dargestellt werden. Im Auftrag selber dann noch eine ebene tiefer die auftragsdetails also wir haetten Tabelle Kunde Tabelle Auftrag Tabelle Auftragdetail Der Baum sollte dann etwa so aussehen
Code:
Das ganz läuft also darauf hinaus das du die Tabellen bspw. mit geschachtelten
-KundeA
|---Auftrag 4711 |-- Detail 4711-1 |-- Detail 4711-2 |---Auftrag 4712 |-- Detail 4712-1 -KundeB ... while schleifen durchläufst und je nachdem entsprechende Knoten und Unterknoten in dem baum erzeugst. pseudocode
Code:
while kunde not eof do
begin erzeuge kundenknoten //in parametrisierte query auftrag alle auftrage des akt kunden holen while auftrag not eof do begin erzeuge unterknoten in akt kunden //in parametrisierte query auftragdetail alle auftragsdetails des akt auftrag holen while auftragsdetial not eof do begin erzeuge unterknoten in akt auftrag end end end |
Re: VirtualTreeView > Baumstruktur > DatenBank
Hallo DelphiDeveloper
Danke für das anschauliche Beispiel. Es funktioniert D A N K E :witch: :dancer2: :witch: :dancer2: :witch: Gruss Tau |
Re: VirtualTreeView > Baumstruktur > DatenBank
Hallo
danke erst mal für das Licht in der Dunkelheit auch von mir Ich habe nur ein Problem wie mach ich es mir NodeDataSize wenn ich die werte über die whileschleife aus 3 tabellen auslese? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz