![]() |
DBGrid auf anderen Datasource setzen per ButtonClick, zur LZ
Morgen,
zur Laufzeit muss sich ein DBGrid umstellen lassen. D.h. es sollte, wenn eine bestimmte Bedingung erfüllt ist, mit einen anderen Datasource verbunden werden. So, dass umgehend die anderen Daten (der Tabelle, bzw. das Ergebnis des Querys, welche hinter dem jeweiligen Datasource liegt) ausgegeben werden. Ich hoffe sowas funktioniert überhaupt, wäre schon relevant - denn leider gelingt es mir nicht, ein weiteres Grid über das bestehende zu legen. Dann wäre es ja einfach, ich setz das zweite auf Visible := False, und später auf True wenns denn sein soll. Funktioniert aber nicht, da der eigentliche Grid unten am Form liegt, (alBottom) - ein weiteres Grid läßt sich nicht mit alBottom drüberlegen. Gibts ne Möglichkeit für meine Lösung mit dem (sogesehen) ButtonClick und umstellen des Datasource? |
Re: DBGrid auf anderen Datasource setzen per ButtonClick, zu
wenn Du dem DBGrid nicht zur Entwurfszeit (durch Doppelclick und anschliessende Bearbeitung in dem sich öffnenden Fenster) persistente Spalten hinzugefügt hast, dann ja:
Delphi-Quellcode:
Gruß
// 2 Datasources dscErsteQuery und dscZweiteQuery sowie Button1 und Button2 müssen existieren
Form1.ButtonClick(Sender : TObject) begin if (Sender is TButton) then begin if TButton(Sender) = Button1 then DeinDBGrid.DataSource := dscErsteDataSource; if TButton(Sender) = Button2 then DeinDBGrid.DataSource := dscZweiteDataSource; end; end; |
Re: DBGrid auf anderen Datasource setzen per ButtonClick, zu
Hi!
Andere Möglichkeit, wenn diese Methode nicht geht. Beide auf dem Form platzieren und dann eins invisible machen und dann erst beim Visible, denn align auf albottom setzen. Ciao fkerber |
Re: DBGrid auf anderen Datasource setzen per ButtonClick, zu
Zitat:
Das hat geklappt. @fkerber Deine Lösung wäre auch eine Möglichkeit, so weit hatte ich wieder gar nicht gedacht ;), aber da die Lösung von Leuselator funktioniert, nehm ich die. Auch dir, Danke. |
Re: DBGrid auf anderen Datasource setzen per ButtonClick, zu
@fkerber: Deine Lösung tut es zwar, aber sie verschwendet Resourcen!
@Thema: Auch permanente Spalteneinträge lassen sich dynamisch erstellen, mann müßte nur die "Kühlschrank auf, Kuh Raus, Elefant rein, Kühlschrank zu"-Regel beachten: erst alle existenten permanenten Spalten löschen, dann DataSource wechseln, dann neue Spalten erzeugen... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 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