Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   DBGrid Felder von Tabelle automatisch zur Laufzeit hinzufüge (https://www.delphipraxis.net/134041-dbgrid-felder-von-tabelle-automatisch-zur-laufzeit-hinzufuege.html)

Tempdir 14. Mai 2009 14:35

Datenbank: TurboDB • Version: 5.16 • Zugriff über: TDB-Komponenten

DBGrid Felder von Tabelle automatisch zur Laufzeit hinzufüge
 
Hallo,

bei einem DBGrid das mit einer Datasource verbunden ist, welche widerum verbunden ist mit einer Datanbank-Tabelle, gibt es doch die Möglichkeit auf das DBGrid doppelt zu klicken und in dem erscheinenden Fenster "Alle Felder hinzufügen" auszuwählen.

Frage: Gibt es eine Möglichkeit dieses "Alle Felder hinzuzufügen" auch während der Laufzeit auszuführen? Ich benötige das, um somit flexibel in hinsicht auf die Felderanzahl der Tabelle zu sein.

Besten Dank!

mkinzler 14. Mai 2009 14:38

Re: DBGrid Felder von Tabelle automatisch zur Laufzeit hinzu
 
Wenn du keine Felder manuell hizugefügt hast, geschiet das autmatisch

Tempdir 14. Mai 2009 14:43

Re: DBGrid Felder von Tabelle automatisch zur Laufzeit hinzu
 
Richtig, aber bei der Methode "alle Felder hinzufügen" werden sie automatisch von der Breite her skaliert (passend zur Breite der Überschrift). Hab ich keine Felder manuell hinzgefügt, so muss ich die Breite manuell für jedes Feld skalieren was bei mir auf die Performance geht (150Felder, dauert bei einem 1GHz/1GBRam PC ein paar Sekunden).

mkinzler 14. Mai 2009 14:49

Re: DBGrid Felder von Tabelle automatisch zur Laufzeit hinzu
 
dann füge diese doch manuell hinzu
Zudem sollte man sich überlegen, ob man wirklich 150 felder anzeigen sollte bzw. ob das Schema weiter normalisiert werden könnte

nahpets 14. Mai 2009 14:57

Re: DBGrid Felder von Tabelle automatisch zur Laufzeit hinzu
 
Hallo,

mach es Dir doch etwas einfacher:

DBGrid.Columns verfügt über die Methoden SaveToFile und LoadFromFile.

Wenn Du im Programm einmal die Einstellungen "zusammengeschoben" hast, kann das Programm sich diese Einstellungen z. B. beim Beenden mit
Delphi-Quellcode:
DBGrid.Columns.SaveToFile(DBGrid.name + '.txt');
speichern und beim nächsten Programmstart mit
Delphi-Quellcode:
If FileExists(DBGrid.name + '.txt') Then DBGrid.Columns.LoadFromFile(DBGrid.name + '.txt');
wieder laden. Damit hast Du bei jedem Programmstart die Einstellung, die Du beim Programmende gerade gemacht hattest.

Tempdir 14. Mai 2009 15:18

Re: DBGrid Felder von Tabelle automatisch zur Laufzeit hinzu
 
Danke für die Idee, ich werde es mal aufprobieren :)


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