ADT- und Array-Felder anzeigen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Daten mit TDBGrid anzeigen und bearbeiten


Die Felder der Datenmenge eines Datengitters repräsentieren nicht immer einfache Werte wie Text, Grafiken, Zahlen usw. Einige Datenbankserver lassen Felder zu, die aus einfacheren Datentypen zusammengesetzt sind, wie z.B. ADT-Felder oder Array-Felder.

Zusammengesetzte Felder können in Datengittern auf zweierlei Weise angezeigt werden:

  • Sie können in der Anzeige "aufgeschlüsselt" werden, sodass jeder einfache Typ, der Teil des zusammengesetzten Feldes ist, in der Datenmenge in einem eigenen Feld dargestellt wird.
  • Zusammengesetzte Felder können in einer Spalte des Datengitters dargestellt werden, wodurch der Tatsache Rechnung getragen wird, dass es sich um eine Einheit handelt.

Wenn ein zusammengesetztes Feld aufgeschlüsselt dargestellt wird, dann erscheinen seine Bestandteile als getrennte Felder, deren gemeinsame Quelle nur daraus hervorgeht, dass jedem Feldname der Name des gemeinsamen übergeordneten Feldes der zugrunde liegenden Datenbanktabelle vorangestellt wird.

Um zusammengesetzte Felder aufgeschlüsselt darzustellen, weisen Sie der Eigenschaft ObjectView die Einstellung False zu. Die Datenmenge speichert zusammengesetzte Felder als Menge getrennter Felder, und im Gitter wird jedes dieser untergeordneten Felder in einer eigenen Spalte dargestellt.

Wird ein zusammengesetztes Feld in einer einzelnen Spalte angezeigt, dann kann die Spalte durch Klicken auf die Pfeilschaltfläche in der Titelleiste der Spalte oder durch Festlegen der Spalteneigenschaft Expanded erweitert und verkleinert werden:

  • Beim Erweitern eines Feldes wird jedes untergeordnete Feld in einer eigenen Spalte mit einer Titelleiste angezeigt, die sich unter der Titelleiste des übergeordneten Feldes befindet. Die Titelleiste des Datengitters wird in diesem Fall um eine Zeile vergrößert, sodass in der ersten Zeile der Name des zusammengesetzten Feldes und in der zweiten Zeile die Namen der in diesem enthaltenen Felder angezeigt werden. Die Titelleiste von Feldern, die nicht zusammengesetzt sind, wird ebenfalls vergrößert, sodass sie zu hoch erscheint. Enthält das zusammengesetzte Feld wiederum Felder, die selbst zusammengesetzt sind (z.B. in Detailtabellen verschachtelte Detailtabellen), dann werden auch diese Felder erweitert, wobei in die Titelleiste entsprechend weitere Zeilen eingefügt werden.
  • Wenn die 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.

Um ein zusammengesetztes Feld in einer erweiterbaren Spalte anzuzeigen, weisen Sie der Datenmengeneigenschaft ObjectView den Wert True zu. Die Datenmenge speichert das zusammengesetzte Feld in einer einzelnen Feldkomponente, die eine Menge verschachtelter untergeordneter Felder enthält. Das Datengitter spiegelt dies durch eine Spalte wider, die erweitert und verkleinert werden kann.

Die folgende Abbildung zeigt ein Gitter mit einem ADT- und einem Array-Feld. Die Eigenschaft ObjectView der Datenmenge besitzt den Wert False, sodass jedes untergeordnete Feld eine Spalte besitzt.

Obj2 grid.jpg

TDBGrid-Steuerelement mit dem Wert False für ObjectView

Die folgenden Abbildungen zeigen ein Gitter mit einem ADT- und einem Array-Feld. Die erste Abbildung ist die Feldanzeige nicht erweitert. Die Felder können daher nicht bearbeitet werden. In der zweiten Abbildung sind die Felder erweitert. Die Erweiterung kann mit einen Klick auf den Pfeil in der Titelleiste des Felds vorgenommen oder rückgängig gemacht werden.

Obj3 grid.jpg

TDBGrid-Steuerelement mit dem Wert False für Expanded

Obj grid.jpg

TDBGrid-Steuerelement mit dem Wert True für Expanded

Die folgende Tabelle zeigt, welche Eigenschaften die Darstellung von ADT- und Array-Feldern in einem TDBGrid-Steuerelement beeinflussen:

Eigenschaften zur Steuerung der Anzeige von zusammengesetzten Feldern:

Eigenschaft Objekt Beschreibung

Expandable

TColumn

Gibt an, ob eine Spalte erweitert werden kann, damit die untergeordneten Felder in separaten Spalten angezeigt und bearbeitet werden können. (Nur Lesen)

Expanded

TColumn

Legt fest, ob die Spalte vergrößert angezeigt wird.

MaxTitleRows

TDBGrid

Gibt die maximale Anzahl der Titelzeilen im Gitter an.

ObjectView

TDataSet

Gibt an, ob Felder erweitert oder im Objektmodus angezeigt werden. Im Objektmodus kann jedes Objektfeld erweitert oder verkleinert werden.

ParentColumn

TColumn

Referenziert das TColumn-Objekt, dem die Spalte mit dem untergeordneten Feld gehört.


Anmerkung: Neben ADT- und Array-Feldern können Datenmengen Felder enthalten, die auf eine andere Datenmenge (Datenmengenfelder) oder einen Datensatz einer anderen Datenmenge (Referenzfelder) Bezug nehmen. In datensensitiven Gittern werden solche Felder durch die Einträge "(DataSet)" bzw. "(Reference)" dargestellt. Zur Laufzeit wird rechts neben diesen Einträgen eine Ellipsen-Schaltfläche angezeigt. Wenn der Benutzer auf diese Schaltfläche klickt, wird ein weiteres Formular mit einem Gitter geöffnet, das den Inhalt des Feldes anzeigt. Bei Datenmengenfeldern enthält das Gitter die Datenmenge, d.h. den Wert des Feldes. Bei Referenzfeldern zeigt das Gitter eine einzelne Zeile mit einem Datensatz einer anderen Datenmenge.

Siehe auch