Objektfelder
Nach oben zu Felder - Index
Objektfelder sind Felder, die einen Verbund aus anderen, einfacheren Datentypen repräsentieren. Hierzu gehören die Feldtypen ADT (Abstract Data Type), Array, DataSet und Reference. Alle diese Feldtypen enthalten oder referenzieren untergeordnete Felder oder andere Datenmengen.
ADT-Felder und Referenzfelder sind Felder, die untergeordnete Felder enthalten. Ein ADT-Feld enthält untergeordnete Felder, die ihrerseits von jedem skalaren Typ oder Objekttyp sein können. Ein Array-Feld wiederum enthält ein Array von untergeordneten Feldern gleichen Typs. Datenmengen- und Referenzfelder entsprechen Feldern, die auf andere Datenmengen zugreifen.
Datenmengen- und Referenzfelder entsprechen Feldern, die auf andere Datenmengen zugreifen. Ein Datenmengenfeld ermöglicht den Zugriff auf eine verschachtelte (Detail-)Datenmenge, während in einem Referenzfeld ein Zeiger (eine Referenz) auf ein anderes persistentes Objekt (ADT) gespeichert ist.
Objektfeld-Komponententypen:
Komponentenname | Beschreibung |
---|---|
TADTField |
Repräsentiert ein ADT-Feld (Abstract Data Type). |
TArrayField |
Repräsentiert ein Array-Feld. |
TDataSetField |
Repräsentiert ein Feld, das eine Referenz auf eine verschachtelte Datenmenge enthält. |
TReferenceField |
Repräsentiert ein REF-Feld (Zeiger auf ein ADT-Feld). |
Wenn Sie mithilfe des Felder-Editors einer Datenmenge, die Objektfelder enthält, Felder hinzufügen, werden automatisch persistente Objektfelder mit dem korrekten Typ erstellt. Dadurch wird auch die Eigenschaft ObjectView der Datenmenge automatisch auf True gesetzt. Die Felder werden dann entsprechend ihrer hierarchischen Struktur gespeichert statt aufgeschlüsselt und so gespeichert zu werden, als wären die untergeordneten Felder vom übergeordneten Feld unabhängig.
In der folgenden Tabelle sind die Eigenschaften aufgeführt, über die alle Objektfelder verfügen. Über diese Eigenschaften wird die Funktionalität für die Verarbeitung von untergeordneten Feldern und Datenmengen implementiert.
Eigenschaften von Objektfeldern:
Eigenschaft | Beschreibung |
---|---|
Fields |
Enthält die untergeordneten Felder des Objektfeldes. |
ObjectType |
Klassifiziert das Objektfeld. |
FieldCount |
Enthält die Anzahl der Felder, die zum Objektfeld gehören. |
FieldValues |
Ermöglicht den Zugriff auf die Werte der untergeordneten Felder des Objektfeldes. |
ADT- und Array-Felder anzeigen
ADT- und Array-Felder enthalten untergeordnete Felder, die mittels datensensitiver Steuerelemente angezeigt werden können.
Datensensitive Steuerelemente wie Vcl.DBCtrls.TDBEdit, die einen einzelnen Feldwert anzeigen, zeigen die Werte untergeordneter Felder in einem nicht bearbeitbaren String mit Kommas als Trennzeichen an. Wenn Sie der Eigenschaft DataField des Steuerelements statt des Objektfeldes ein untergeordnetes Feld zuweisen, dann kann das untergeordnete Feld wie ein gewöhnliches Datenfeld betrachtet und bearbeitet werden.
Vcl.DBGrids.TDBGrid-Steuerelemente zeigen ADT- und Array-Felder, abhängig von der Einstellung der Eigenschaft ObjectView der Datenmenge, unterschiedlich an. Wenn ObjectView False ist, wird jedes untergeordnete Feld in einer einzelnen Spalte angezeigt. Wenn ObjectView True ist, kann ein ADT- oder Array-Feld durch Klicken auf die Pfeilschaltfläche in der Titelleiste der Spalte erweitert und verkleinert werden. Wenn das Feld erweitert ist, erscheint jedes untergeordnete Feld in einer eigenen Spalte mit einer Titelleiste unterhalb der Titelleiste des ADT- bzw. Array-Feldes. Wenn die ADT- oder Array-Feldanzeige verkleinert ist, wird nur eine Spalte mit einem String angezeigt, der nicht bearbeitet werden kann und der die untergeordneten Felder durch Kommas getrennt angibt.
In den folgenden Themen werden die verschiedenen Objektfeldtypen eingehender behandelt: