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.