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 DBGrid Design-Änderung erkennen (https://www.delphipraxis.net/205081-dbgrid-design-aenderung-erkennen.html)

diego13 29. Jul 2020 19:51

DBGrid Design-Änderung erkennen
 
Ich möchte das DBGrid-Design (Spaltenreihenfolge, Spaltenbreite usw.) (nur) nach einer Änderung durch den User speichern. Gibt es eine einfache Möglichkeit, zu erkennen, wenn ein DBGrid-Design geändert wurde?

himitsu 29. Jul 2020 20:37

AW: DBGrid Design-Änderung erkennen
 
Nein.

Du kannst dir nur Position/Sichtbarkeit/Breite aller Spalten merken
und es am Ende mit dem aktuellen Zustand vergleichen.


Bei Grids, wo es eine Speichernfunktion für das Layout gibt, kann man sich das "merken" einfacher machen.


Ist das Layout in der DFM gespeichert (im Formdesigner eingestellt), dann könnte man sich eventuell die DFM auslesen und dort das Start-Layout auslesen.



Wenn du Glück hast, dann gibt es am Grid ein Change-Ereignis, wenn man das Layout verändert, dann könnte man sich dort ein Flag setzen, sobald sich was ändert.

diego13 30. Jul 2020 19:28

AW: DBGrid Design-Änderung erkennen
 
Danke Himitsu,
Habe ich schon befürchtet, dass ich das Design vorher-nachher vergleichen muss, um zu entscheiden, ob ich das neue (geänderte) Design abspeichern muss.
Gruß

Dieter

Uwe Raabe 30. Jul 2020 20:48

AW: DBGrid Design-Änderung erkennen
 
Du könntest eine Klasse ableiten und LayoutChanged überschreiben. Z.B. mit einer Interposer Class:
Delphi-Quellcode:
type
  TDBGrid = class(Vcl.DBGrids.TDBGrid)
  protected
    procedure LayoutChanged; override;
  end;


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