Utilisation des champs objet
Remonter à Manipulation des composants champ - Index
Les champs objet représentent un composé d'autres types de données plus simples. Parmi lesquels, les champs ADT (Abstract Data Type), tableau, ensemble de données et référence. Ces types de champ contiennent des champs enfants ou d'autres ensembles de données ou y font référence.
Les champs ADT et tableau contiennent des champs enfants. Les champs enfants d'un champ ADT peuvent être de n'importe quel type scalaire ou type d'objet (c'est-à-dire, de tout autre type de champ). Ces champs enfants peuvent varier quant à leur type. Un champ tableau contient un tableau de champs enfants de type identique.
Les champs ensemble de données et de référence sont des champs qui accèdent à d'autres ensembles de données. Un champ ensemble de données permet d'accéder à un ensemble de données (détail) imbriqué. Un champ de référence stocke un pointeur (référence) sur un autre objet persistant (ADT).
Types de composants champ objet :
Nom du composant | Utilisation |
---|---|
TADTField |
Représente un champ ADT (Abstract Data Type). |
TArrayField |
Représente un champ tableau. |
TDataSetField |
Représente un champ contenant une référence à un ensemble de données imbriqué. |
TReferenceField |
Représente un champ REF, pointant sur un champ ADT. |
Quand vous ajoutez des champs avec l'éditeur de champs à un ensemble de données contenant des champs objet, des champs objet persistants du type correct sont automatiquement créés pour vous. Lorsque vous ajoutez des champs objet persistants à un ensemble de données, la propriété ObjectView de l'ensemble de données prend automatiquement la valeur True, ce qui amène l'ensemble de données à stocker ces champs de façon hiérarchisée, plutôt qu'à les aplanir comme si les champs enfants constitutifs étaient des champs séparés indépendants.
Les propriétés suivantes sont communes à tous les champs objet et permettent de gérer les ensembles de données et les champs enfants.
Propriétés communes des descendants de champs objet :
Propriété | Utilisation |
---|---|
Fields |
Contient les champs enfants du champ objet. |
ObjectType |
Classe le champ objet. |
FieldCount |
Nombre de champs enfants appartenant au champ objet. |
FieldValues |
Permet d'accéder aux valeurs des champs enfants. |
Affichage des champs ADT et tableau
Les champs ADT et tableau contiennent des champs enfants qui peuvent être affichés par le biais de contrôles orientés données.
Les contrôles orientés données tels que Vcl.DBCtrls.TDBEdit qui représentent une valeur de champ unique affichent les valeurs des champs enfants dans une chaîne non modifiable, séparés par des virgules. En outre, si vous attribuez à la propriété DataField du contrôle le champ enfant au lieu du champ objet, le champ enfant peut être visualisé et modifié comme tout autre champ de données normal.
Un contrôle Vcl.DBGrids.TDBGrid affiche différemment les données de champs ADT et tableau, suivant la valeur de la propriété ObjectView de l'ensemble de données. Lorsque ObjectView vaut False, chaque champ enfant apparaît dans une seule colonne. Lorsque ObjectView vaut True, un champ ADT ou tableau peut être développé et réduit en cliquant sur la flèche dans la barre de titre de la colonne. Lorsque le champ est développé, chaque champ enfant apparaît dans sa propre colonne et barre de titre, et tous sous la barre de titre du champ ADT ou tableau. Lorsque le champ ADT ou tableau est réduit, seule une colonne apparaît, contenant une chaîne non modifiable des champs enfants, séparés par des virgules.
Les rubriques suivantes décrivent chaque type de champ objet .
- Utilisation des champs ADT
- Utilisation des champs tableau
- Utilisation des champs ensemble de données
- Utilisation des champs de référence