![]() |
Datenbank: SQLite • Version: 3.2.1 • Zugriff über: Delphi 10
Dynamischer Zugriff auf Datenmodul
In Delphi benutze ich PageControl mit mehreren Seiten. Auf jeder Seite befinden sich DBGrid, DBEdit,.. für unterschiedliche Tabellen, in denen ich über BitButton blättere, z.B.:
procedure TVorlage.AnfangClick(Sender: TObject); begin Datenmodul1.TTeile.First; Ende.Enabled:=True; Rueckwaerts.Enabled:=False; Anfang.Enabled:=False; Vorwaerts.Enabled:=True; end; Ich möchte nun diesen Knopf für alle Tabellen nutzen, so dass ich die anzusprechende Tabelle dynamisch über das onChange-Ereignis des PageControls ändern kann. Wie kann ich so etwas lösen? Für Hinweise wäre ich wirklich dankbar! |
AW: Dynamischer Zugriff auf Datenmodul
Du könntest zuerst eine Variable für die aktuell sichtbare Tabelle deklarieren. Vorzugsweise im private-Abschnitt des Formulars, damit du in allen Prozeduren des Formulars darauf zugreifen kannst.
Delphi-Quellcode:
Im OnChange-Ereignis des PageControls kommt dann:
{ Private-Deklarationen }
AktuelleTabelle: TADOTable; (oder welche Komponenten du auch für Tabellen benutzt)
Delphi-Quellcode:
Und dann:
if PageControl.ActivePage=TabSheet1 then AktuelleTabelle:=Datenmodul1.TTeile else
if PageControl.ActivePage=TabSheet2 then AktuelleTabelle:=Datenmodul1.TIrgendwas else …
Delphi-Quellcode:
procedure TVorlage.AnfangClick(Sender: TObject);
begin AktuelleTabelle.First; … end; |
AW: Dynamischer Zugriff auf Datenmodul
Für die Navigation würd' ich keine eigenen Buttons nutzen, sondern 'nen TDBNavigator. Die nicht gewünschten Buttons dort kann man im Objektinspektor ausblenden. Man weist ihm die TDataSource zu, die auch dem DBGrid, den DBEdits ... zugewiesen wurde. Und schon funktioniert die Navigation.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:48 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 by Thomas Breitkreuz