![]() |
Outlookbar hierarchisch mit Daten füllen
Ich möchte eine JVOutlookbar mit den Werten aus einer Datenbank füllen.
Und zwar soll diese nach Jahreszahlen geordnet erscheinen. Die Jahreszahlen sollen dabei die Pages darstellen und das Feld Name die untergeordneten Buttons. Die Tabelle hat in etwa folgenden Aufbau:
Code:
d. h. ich bestimme zuerst die Jahreszahlen per SQL Script.
JAHR | NAME
1999 | Name1 1999 | Name2 2000 | Name3 2000 | Name4 2000 | Name5 2000 | Name6 2001 | Name7 2002 | Name8 2002 | Name9 2002 | Name10
SQL-Code:
Diese ordne ich dann den einzelnen 'Pages' zu:
SELECT DISTINCT JAHR FROM TABELLE1
Delphi-Quellcode:
so weit so gut, jetzt hab ich bereits die einzelnen Pages mit den Jahreszahlen.
procedure TfmMain.FormCreate(Sender: TObject);
var NewBarPage : TJVOutlookBarPage; begin with MyQuery do begin Close; SQL.Clear; SQL.Add('SELECT DISTINCT JAHR AS ADATUM, NAME FROM TABELLE1'); Open; First; while not EOF do begin NewBarPage := JvOutlookBar1.Pages.Add; NewBarPage.Caption := FieldByName('ADATUM').Text; Next; end; end; end; wie kann ich nun für die einzelnen 'Pages' die untergeordneten Buttons mit den entsprechenden Namen erzeugen? Aussehen soll das ganze dann in etwa so:
Code:
usw.
1999
Name1 Name2 2000 Name3 Name4 Name5 Name6 2001 Name7 2002 Name8 Name9 Name10 wer kann mir weiterhelfen, wie ich die Outlookbar richtig fülle? |
Re: Outlookbar hierarchisch mit Daten füllen
Hallo,
ich würde es so versuchen:
Delphi-Quellcode:
Grüße vom marabu
procedure TDemoFrom.FormCreate(Sender: TObject);
var page: TJvOutlookBarPage; button: TJvOutlookBarButton; begin with Query do begin SQL.Text := 'SELECT ID, JAHR, NAME FROM JN ORDER BY JAHR, NAME'; Open; page := nil; while not Eof do begin if not Assigned(page) or not SameText(page.Caption, FieldByName('JAHR').AsString) then begin page := OutlookBar.Pages.Add; page.Caption := FieldByName('JAHR').Text; end; with page.Buttons.Add do begin Caption := FieldByName('NAME').Text; // Tag := FieldByName('ID').AsInteger; end; Next; end; Close; end; end; |
Re: Outlookbar hierarchisch mit Daten füllen
:hello:
Du bist der beste !!!! Supi - funktioniert einwandfrei. Nur wie kann ich nun auf den Klick eines Buttons den entsprechenden Datensatz auswählen? War das die Zeile mit 'Tag' mit der man dann auf das Tag zurückgreifen kann ??? |
Re: Outlookbar hierarchisch mit Daten füllen
Du hast es genau richtig erkannt.
Freundliche Grüße |
Re: Outlookbar hierarchisch mit Daten füllen
Wie greife ich nun auf die Tags von einer anderen Prozedur zu?
Man ich kriegs einfach nicht gebacken ! |
Re: Outlookbar hierarchisch mit Daten füllen
Sorry, ich glaub ich habs:
Delphi-Quellcode:
procedure TfmMain.JvOutlookBar1ButtonClick(Sender: TObject; Index: Integer);
begin ShowMessage(IntToStr(JvOutlookBar1.ActivePage.Buttons[Index].Tag)); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 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