Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Über showmodal neues Fenster mit dbgrid öffnen (https://www.delphipraxis.net/100457-ueber-showmodal-neues-fenster-mit-dbgrid-oeffnen.html)

Jack23 28. Sep 2007 16:10

Datenbank: Access • Version: 2003 • Zugriff über: ADO

Über showmodal neues Fenster mit dbgrid öffnen
 
Hallo

Ich möchte mit einem in eine Spalte des dbgrids ein neues Fenster öffnen wo dann wieder ein dbgrid was aber andere spalten anzeigt. Kein Problem. Das Problem ist das öffnen bei onklick.

Die entsprechende Stelle:
Delphi-Quellcode:
procedure TForm2.Popup(Sender: TObject);
begin
TForm1.showmodal;
end;
Dann steht aber oben links und Struktur --> Fehler
TForm1 enthält kein Element namens showmodal

Woran liegt das?

oki 28. Sep 2007 16:28

Re: Über showmodal neues Fenster mit dbgrid öffnen
 
Hallo,

Der Aufruf muß so erfolgen:
Delphi-Quellcode:
procedure TForm2.Popup(Sender: TObject);
begin
  Form1.showmodal;
end;
Der Aufruf erfolgt über die Instanz, nicht über den Klassennamen.

Gruß oki

Jack23 28. Sep 2007 16:38

Re: Über showmodal neues Fenster mit dbgrid öffnen
 
Ich steige jetzt garnet mehr durch. Jetzt bekomme ich diesen Fehler: Unit-Name kann nicht aufgelöst werden.

Denn ganzen Code den ich eingebaut habe ist hier:
Delphi-Quellcode:
Belege in deinem dbgrid das Ereignis onDblClick (durch doppelcklicken)

In der Prozedur schreibst du

Delphi-Quellcode:    markieren
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
Form2.showmodal;
end;


Lege eine neue Form an (Form2)

Plaziere dort alle Felder,
wie du sie magst

mache eine Verknüpfung
Delphi-Quellcode:    markieren
implementation
uses form1;
{$R *.dfm}


und einen Button, der beim Drücken die Anweisung

Delphi-Quellcode:    markieren
procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end;


bekommt.

Dann kannst du mit doppelklick im Grid ein Fenter erzeugen, dass den "angeklickten" Datensatz als Einzelfelder in Maskenform zeigt.

Apollonius 28. Sep 2007 16:51

Re: Über showmodal neues Fenster mit dbgrid öffnen
 
Du solltest deine Units anders benennen, z.B. U_Form1. Nenn sie nie so wie eine Variable oder ein Typ. In der Uses-Klausel muss dann entsprechend stehen: uses U_Form1.

Jack23 28. Sep 2007 17:00

Re: Über showmodal neues Fenster mit dbgrid öffnen
 
Ah perfekt. Jetzt klappt alles. Nur noch eine Frage. Wenn ich ein Doppelklick in ein Datensatz des dbgrids mache öffnet sich das neue Fenster und es stehen alle Datensätze drin. Auch die die vorher schon dar waren. Woran liegt das? Wie bekomme ich es hin das nur der angeklickte Datensatz angezeigt wird?


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:23 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