Gitter im Standardstatus verwenden
Nach oben zu Daten mit TDBGrid anzeigen und bearbeiten
Die Eigenschaft State der Eigenschaft Columns eines Gitters gibt an, ob persistente Spaltenobjekte für das Gitter existieren. Columns.State ist eine nur zur Laufzeit verfügbare Eigenschaft, die automatisch für ein Gitter eingestellt wird. Der Standardstatus csDefault bedeutet, dass keine persistenten Spaltenobjekte für das Gitter existieren. In diesem Fall ist die Anzeige der Daten im Gitter entweder von den persistenten Feldkomponenten der im Gitter angezeigten Datenmenge oder von Standard-Anzeigecharakteristika abhängig, wenn die Datenmenge keine persistente Feldkomponenten besitzt.
Wenn die Eigenschaft Columns.State eines Gitters csDefault enthält, werden die Gitterspalten dynamisch aus den sichtbaren Feldern der Datenmenge generiert. Die Reihenfolge der Spalten im Gitter entspricht der Reihenfolge der Felder in der Datenmenge. Jede Gitterspalte ist einer Feldkomponente zugeordnet. Änderungen der Eigenschaften von Feldkomponenten werden sofort im Gitter angezeigt.
Der Einsatz eines Gitters mit dynamisch generierten Spalten ist für die Anzeige und Bearbeitung von Tabellen hilfreich, die erst zur Laufzeit ausgewählt werden. Da die Struktur des Gitters nicht festgelegt ist, kann sie dynamisch an verschiedene Datenmengen angepasst werden. Ein einzelnes Gitter mit dynamisch generierten Spalten kann beispielsweise erst eine Paradox-Tabelle anzeigen und dann zur Anzeige der Ergebnisse einer SQL-Abfrage verwendet werden, indem die Eigenschaft DataSource des Gitters oder die Eigenschaft DataSet der Datenquelle geändert wird.
Sie können das Erscheinungsbild einer dynamischen Spalte beim Entwurf oder zur Laufzeit ändern. Dies erfolgt jedoch durch Änderung der Eigenschaften der Feldkomponente, die in dieser Spalte angezeigt wird. Eigenschaften einer dynamischen Spalte bleiben verfügbar, bis die Zuordnung einer Spalte zu einem bestimmten Feld in einer einzelnen Datenmenge aufgehoben wird. Ändern Sie beispielsweise die Eigenschaft 'Width einer Spalte, wird die Eigenschaft 'DisplayWidth des Feldes geändert, das dieser Spalte zugeordnet ist. Änderungen von Spalteneigenschaften, die nicht auf Feldeigenschaften basieren (beispielsweise Font), sind nur während der Anzeige der zugrundeliegenden Spalte in Kraft.
Wenn die Datenmenge eines Gitters aus dynamischen Feldkomponenten besteht, werden die Felder freigegeben, sobald die Datenmenge geschlossen wird. Beim Freigeben der Feldkomponenten werden auch alle zugeordneten dynamischen Spalten freigegeben. Wenn die Datenmenge eines Gitters aus persistenten Feldkomponenten besteht, bleiben diese Feldkomponenten beim Schließen der Datenmenge erhalten. Dies gilt auch für die Eigenschaften der Spalten, die diesen Feldern zugeordnet sind.
Hinweis: Wird der Eigenschaft Columns.State eines Gitters zur Laufzeit csDefault zugewiesen, werden alle Spaltenobjekte im Gitter gelöscht (auch persistente Spalten). Anschließend werden die dynamischen Spalten basierend auf den sichtbaren Feldern der Datenmenge des Gitters neu erstellt.