Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Mainmenu rekursiv aus SQL füllen! (https://www.delphipraxis.net/58721-mainmenu-rekursiv-aus-sql-fuellen.html)

TriphunEM 11. Dez 2005 16:34


Mainmenu rekursiv aus SQL füllen!
 
Hallo, ich probier hier rum aber komm zu keinem ergebnis.

ich will ein mainmenu rekursiv mit daten aus einer sql füllen.
übergeben wird eine id und parent_id sowie das caption. ist die parent_id nicht 0 (wäre rootebene) dann ist es ein unterelement des eintrages was als id den wert der parent_id hat. sollte klar sein.
Die ID des jeweiligen Eintrages sollte in der eigenschaft "Tag" gespeichert werden!

Rekursiv arbeite ich aber schon bei der SQL Abfrage und es sollte auch aus bestimmten gründen so bleiben!
Könnte mir jemand helfen???

Hier mein Code für die SQL-Abfrage :
Delphi-Quellcode:
procedure TMainForm.SetSQLValue(parent_id:integer);
var
  TempQuery : TZReadOnlyQuery;
begin
  TempQuery:=TZReadOnlyQuery.Create(nil);
  TempQuery.Connection:=SqlConnection;
  TempQuery.SQL.Text:='SELECT * FROM Werte WHERE parent_id='+inttostr(parent_id)+' ORDER BY parent_id ASC';
  TempQuery.Open;
  while not TempQuery.Eof do
  begin
     SetSQLValue(TempQuery.FieldByName('id').AsInteger); Add2Mainmenu(TempQuery.FieldByName('id').AsInteger,TempQuery.FieldByName('parent_id').AsInteger,TempQuery.FieldByName('description').AsString);
     TempQuery.Next;
  end;
  FreeAndNil(TempQuery);
end;
und hier sollte das füllen des mainmenüs rein :
Delphi-Quellcode:
procedure TMainForm.Add2Mainmenu(Id: integer; Parent_Id: integer; Description: string);
var
  NewItem: TMenuItem;
  i,j: integer;
begin
  if Parent_Id=0 then begin
    // Ordner auf Rootebene setzen
    NewItem:=TMenuItem.Create(Self);
    NewItem.Caption:=Description;
    NewItem.Tag:=Id;
    Toolbar.Items.Add(NewItem);
  end
  else begin
    // Elternelement suchen und Subeintrag setzen

    ???


  end;
end;
Danke!

omata 11. Dez 2005 17:35

Re: Mainmenu rekursiv aus SQL füllen!
 
Entschuldigung, dass ich helfen wollte.

Kommt nicht wieder vor.

TriphunEM 12. Dez 2005 09:18

Re: Mainmenu rekursiv aus SQL füllen!
 
naja, die sql abfrage steht ja schon, da braucht man nicht noch mal eine neue machen!


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:00 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