Einzelnen Beitrag anzeigen

barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#1

Datasource zur Laufzeit entfernen

  Alt 8. Sep 2003, 10:27
Hallo,

ich habe ein Master-Detail-Formular bei dem ich die Inhalte des DBGrids über eine Query und deren Datasource abfrage. Da die Daten mit der Datasource eingeschränkt sind ich aber auch alle Datensätze ohne Master-Detail-Verknüpfung brauche, würde ich gern die Property "Datasource" meiner Query zur Laufzeit entfernen. Meine Idee war es die Daten auf zwei Formularen anzuzeigen. Beim OnClose-, bzw, OnShow-Event habe ich dann folgende Zuweisungen:

Delphi-Quellcode:
procedure TForm.FormShow(Sender: TObject);
begin
  DMKundenForm.QueryHafenplatz.DataSource:= Nil;
end;

procedure TForm.FormHide(Sender: TObject);
begin
  DMKundenForm.QueryHafenplatz.DataSource:= DMKundenForm.DataSourceKunde;
end;
Wird Formular 'normal' angezeigt, werden die Master-Detail-Daten nicht angezeigt. Wird das Formular geschlossen werden die Master-Detail-Daten aus der Query gelesen.

Das ist die Theorie. Leider funktioniert es nicht. Es werden immer die Master-Detail-Daten angezeigt. Weder ein Close-Open noch ein Refresh tun ihr übriges...

Wo ist der Denkfehler? Wie kann ich zur Laufzeit zwischen Master-Detail-und normalen Daten wechseln?

Gruß,

Barnti
  Mit Zitat antworten Zitat