AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi VirtualTreeView > Baumstruktur > DatenBank

VirtualTreeView > Baumstruktur > DatenBank

Ein Thema von Tau · begonnen am 1. Feb 2004 · letzter Beitrag vom 27. Nov 2004
Antwort Antwort
Tau

Registriert seit: 17. Mär 2003
Ort: Bludenz
221 Beiträge
 
Delphi 7 Enterprise
 
#1

VirtualTreeView > Baumstruktur > DatenBank

  Alt 1. Feb 2004, 16:45
Hallo Laute

Ich Beschäftige mich seit geraumer Zeit mit dem VirtualTreeView
von Mike Lischke (www.delphi-gems.com).

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 www.delphi-treff.de VirtualTreeView Tuorial hat mir leider nicht ganz helfen können.

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.

Für einen Tipp oder eine Anregung währe ich sehr Dankbar.

Gruß
Tau
http://www.quad-offroad.com
wer kämpft kann verlieren aber wer nicht kämpft hat verloren
( Delphi 7 )
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: VirtualTreeView > Baumstruktur > DatenBank

  Alt 1. Feb 2004, 19:54
Hallo Tau,
scghau Dir doch einmal das Virtual TreeView and Databases Demo auf Mikes Homepage an, da wird eine BDE-Demodatenbank in den VT geladen.
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#3

Re: VirtualTreeView > Baumstruktur > DatenBank

  Alt 1. Feb 2004, 22:09
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:
ID | ParentID | Text
1       0        Node1 
2       1        Node2
3       2        Node3
4       1        Node4
Der Baum dazu würde dann folgendermaßen aussehen
Die Parent ID 0 steht für die Wurzel des Baumes
Code:
Node1
|
|--Node2
|  |
|  |-Node3

|--Node4
Der Trick ist es jetzt die Tabelle so auszulesen, das z.B. in einem TreeView der Baum entsteht.
  Mit Zitat antworten Zitat
Tau

Registriert seit: 17. Mär 2003
Ort: Bludenz
221 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: VirtualTreeView > Baumstruktur > DatenBank

  Alt 2. Feb 2004, 05:15
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.

Gruß
Tau
http://www.quad-offroad.com
wer kämpft kann verlieren aber wer nicht kämpft hat verloren
( Delphi 7 )
  Mit Zitat antworten Zitat
DelphiDeveloper

Registriert seit: 9. Apr 2003
Ort: Köln
256 Beiträge
 
Delphi XE2 Enterprise
 
#5

Re: VirtualTreeView > Baumstruktur > DatenBank

  Alt 3. Feb 2004, 11:10
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:
-KundeA
 |---Auftrag 4711
     |-- Detail 4711-1
     |-- Detail 4711-2
 |---Auftrag 4712
     |-- Detail 4712-1
-KundeB
...
Das ganz läuft also darauf hinaus das du die Tabellen bspw. mit geschachtelten
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
  Mit Zitat antworten Zitat
Tau

Registriert seit: 17. Mär 2003
Ort: Bludenz
221 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: VirtualTreeView > Baumstruktur > DatenBank

  Alt 3. Feb 2004, 23:52
Hallo DelphiDeveloper


Danke für das anschauliche Beispiel.

Es funktioniert D A N K E


Gruss
Tau
http://www.quad-offroad.com
wer kämpft kann verlieren aber wer nicht kämpft hat verloren
( Delphi 7 )
  Mit Zitat antworten Zitat
Benutzerbild von HomerGER
HomerGER

Registriert seit: 8. Jun 2003
390 Beiträge
 
Delphi 7 Professional
 
#7

Re: VirtualTreeView > Baumstruktur > DatenBank

  Alt 27. Nov 2004, 12:11
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?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz