AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TreeView dynamisch aus einer Datenbank füllen
Thema durchsuchen
Ansicht
Themen-Optionen

TreeView dynamisch aus einer Datenbank füllen

Ein Thema von RWarnecke · begonnen am 8. Okt 2008 · letzter Beitrag vom 10. Okt 2008
Antwort Antwort
Pro_RJ

Registriert seit: 16. Apr 2008
146 Beiträge
 
#1

Re: TreeView dynamisch aus einer Datenbank füllen

  Alt 9. Okt 2008, 21:04
Huhu,
Also ein Treeview in einer DB zu speichern ist grundsätzlich "recht einfach" (ok ich hab das bestimmt schon 5-6 mal gemacht .

Am einfachsten ist es Alles in einer TBL zu speichern.
mit Beispielsweise folgendem Aufbau:

Nummer,Ebene,Bezeichnung;
Du machst eine Proc, die RekursivFähig ist!!! <-- das ist der entscheidente Punkt.
Hier hab ich mal n kleines Beispiel zusmmen gestellt.
Ist aber nur Schematisch dargestellt.

Delphi-Quellcode:
Function TreeLoad(TR : ttreeview;AbDatensatz,Ebene : Integer) : Integer; // Gibt die Nr zurück bis wohin diesr Ausruf gearbeitet hat
Begin
  // Daten suchen
  Q1 := TQuery.Create;
  ..
  Q1.SQL.Text := Select * From TBL where Nr >= AbDatensatz order by Nr;

  while not Q1.eof do
  Begin
    if Q1.FieldByName('Ebene').asInteger = Ebene
    then Tr.Items.Add() // Node Erzeugen
    else
    Begin
      if Q1.FieldByName('Ebene').asInteger > Ebene then
      Begin
        BisNr := TreeLoad(TR,Q1.FieldByName('Nr').asInteger,Q1.FieldByName('Ebene').asInteger); // mit der Nächsten Ebene Aufrufen
        Q1.SQL.Text := Select * From TBL where Nr >= BisNr order by Nr;
      End
      else Q1.Prior;

    End;
    Q1.Next;
  end;
  result := Q1.FieldByName('Nr').asInteger;

end;

So habe ich das Problem gelöst.Evebtuell hilft es dir ja ein bisschen weiter.
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:07 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