Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi EX7: StringGrid und OnShow bzw. OnChange (https://www.delphipraxis.net/183839-ex7-stringgrid-und-onshow-bzw-onchange.html)

Kralle 8. Feb 2015 15:29

EX7: StringGrid und OnShow bzw. OnChange
 
Moin,

leider hat ein StringGrid ja kein OnShow- oder OnChange-Ereignis.:pale:

Wie sorge ich dafür das Einträge die ich zur Laufzeit aus Edits , StringListen usw. ins Grid eintrage auch sofort die Anzeige aktualisieren?
Im Moment wird die Anzeige nur dann aktualisiert, wenn ich das Grid anwähle (OnEnter).

Gruß Heiko

himitsu 8. Feb 2015 15:49

AW: EX7: StringGrid und OnShow bzw. OnChange
 
Ähhhhhh, was wird wo und vrallem wie eingetragen?


Delphi-Referenz durchsuchenTControl.Refresh / Delphi-Referenz durchsuchenTControl.Repaint

Kralle 8. Feb 2015 16:09

AW: EX7: StringGrid und OnShow bzw. OnChange
 
Hallo,

im Hauptformular wird mittels
Delphi-Quellcode:
 
procedure TForm1.FormShow(Sender: TObject);
begin
if Datenmodul.FlagListeNeu then
  begin

    StringGrid1.Cols[1].Assign(Datenmodul.Liste);
    StringGrid1.Refresh; // Auch .Repaint bringt nicht
    Datenmodul.FlagListeNeu:= False;
  end;
end;
Die Daten ins Grid eingetragen.

Aber, das Flag wird True und das Grid nicht aktualisiert. Erst wenn man es anwählt.

Gruß HEiko

Sir Rufo 8. Feb 2015 16:11

AW: EX7: StringGrid und OnShow bzw. OnChange
 
Aha, immer wenn die Form angezeigt wird, dann werden die Daten aktualisiert.

Debugger anwerfen und mit einem Haltepunkt schauen, wann dieses Event eintritt

Kralle 8. Feb 2015 17:09

AW: EX7: StringGrid und OnShow bzw. OnChange
 
Hallo Sir Rufo,

Zitat:

Zitat von Sir Rufo (Beitrag 1289223)
Aha, immer wenn die Form angezeigt wird, dann werden die Daten aktualisiert.

Debugger anwerfen und mit einem Haltepunkt schauen, wann dieses Event eintritt

Okay, schlechtes Ereignis gewählt. Das
Delphi-Quellcode:
OnCreate
wird nur einmal ausgeführt und zwar wenn das Formular das erstemal angezeigt wird.

Ein
Delphi-Quellcode:
OnRepaint
bringt auch nicht, weil es nach dem Aufbau des Formulres erst dann wieder aufgerufen wird, wenn man z.B. die Größe des Formulares ändert.

Wenn ich einfach nur ein
Delphi-Quellcode:
TStringGrid
und ein
Delphi-Quellcode:
TEdit
auf einem Formular platziere, werden die Werte sofort und direkt ins Grid übernommen.

Das heißt ich muß einen anderen Ereignis finden, das die Daten ins Grid einträgt.
Aus den Frames kann ich ja nicht direkt auf das Vorschau-Frame zugreifen.

Gruß Heiko

Kralle 8. Feb 2015 18:44

AW: EX7: StringGrid und OnShow bzw. OnChange
 
Kurzfristig dachte ich hätte die Lösung:

Einfach die Vorschau in die
Delphi-Quellcode:
uses
des Datenmoduls einbinden und von dort triggern ...
Mit geht nicht. Ein Frame kann ja nicht auf ein anderes Frame in der Form zugreifen.

Gruß Heiko


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