AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi DBGrid auf anderen Datasource setzen per ButtonClick, zur LZ
Thema durchsuchen
Ansicht
Themen-Optionen

DBGrid auf anderen Datasource setzen per ButtonClick, zur LZ

Ein Thema von LuckyStrike4life · begonnen am 13. Jan 2004 · letzter Beitrag vom 13. Jan 2004
Antwort Antwort
LuckyStrike4life

Registriert seit: 22. Jul 2003
Ort: SN
105 Beiträge
 
Delphi 5 Enterprise
 
#1

DBGrid auf anderen Datasource setzen per ButtonClick, zur LZ

  Alt 13. Jan 2004, 15:06
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?
- ich kann doch wirklich nichts -
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#2

Re: DBGrid auf anderen Datasource setzen per ButtonClick, zu

  Alt 13. Jan 2004, 15:22
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:
// 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;
Gruß
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#3

Re: DBGrid auf anderen Datasource setzen per ButtonClick, zu

  Alt 13. Jan 2004, 15:27
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
Frederic Kerber
  Mit Zitat antworten Zitat
LuckyStrike4life

Registriert seit: 22. Jul 2003
Ort: SN
105 Beiträge
 
Delphi 5 Enterprise
 
#4

Re: DBGrid auf anderen Datasource setzen per ButtonClick, zu

  Alt 13. Jan 2004, 15:35
Zitat von Leuselator:
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:
// 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;
Gruß
Leuselator, vielen Dank!
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.
- ich kann doch wirklich nichts -
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#5

Re: DBGrid auf anderen Datasource setzen per ButtonClick, zu

  Alt 13. Jan 2004, 22:53
@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...
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:42 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