Affichage des champs ADT et tableau

De RAD Studio
Aller à : navigation, rechercher

Remonter à Visualisation et édition des données avec un contrôle TDBGrid


Parfois, les champs de l'ensemble de données de la grille ne représentent pas de simples valeurs, telles que du texte, des graphiques, des valeurs numériques ou autres. Certains serveurs de bases de données autorisent les champs qui englobent des types de données simples, tels que les champs ADT ou tableau.

Une grille peut afficher les champs composites de deux façons :

  • Elle peut aplanir le champ afin que chacun des types simples qui composent le champ apparaisse en tant que champ séparé dans l'ensemble de données.
  • Elle peut afficher des champs composites dans une seule colonne, indiquant ainsi qu'ils constituent un seul champ.

Lorsqu'un champ composite est aplani, ses composants apparaissent sous forme de champs séparés qui reflètent leur source commune uniquement si chaque nom de champ est précédé du nom du champ parent commun dans la table de base de données sous-jacente.

Pour afficher les champs composites comme s'ils étaient aplanis, attribuez la valeur False à la propriété ObjectView de l'ensemble de données. L'ensemble de données stocke les champs composites sous la forme d'un ensemble de champs séparés et la grille reflète cette organisation en attribuant une colonne à chaque composante.

Vous pouvez alors étendre et réduire la colonne en cliquant sur la flèche dans la barre de titre du champ ou en définissant la propriété Expanded :

  • Lorsqu'une colonne est étendue, chaque champ enfant apparaît dans sa propre sous-colonne et une barre de titre correspondante apparaît sous la barre de titre du champ parent. La hauteur de la barre de titre de la grille augmente : la première ligne fournit le nom du champ composite et la seconde indique ses différentes composantes. Les champs qui ne sont pas composites apparaissent avec des barres de titre extra hautes. Cette extension se poursuit pour les composantes qui sont elles-mêmes des champs composites (par exemple, une table détail imbriquée dans une autre) et la hauteur de la barre de titre augmente en conséquence.
  • Lorsque le champ est réduit, seule la colonne apparaît avec une chaîne non modifiable des champs enfants, séparés par des virgules.

Pour afficher un champ composite dans une colonne étendue ou réduite, attribuez la valeur True à la propriété ObjectView de l'ensemble de données. L'ensemble de données stocke le champ composite sous la forme d'un champ composant unique qui contient un ensemble de sous-champs imbriqués. La grille reflète cette organisation dans une colonne qui peut être étendue ou réduite.

La figure suivante montre une grille contenant un champ ADT et un champ tableau. La propriété ObjectView de l'ensemble de données a pour valeur False afin que chaque champ enfant dispose d'une colonne.

Obj2 grid.jpg

Contrôle TDBGrid avec ObjectView défini à False

Les figures suivantes montrent la grille contenant un champ ADT et un champ tableau. La première figure montre les champs réduits. Cet état ne permet pas de les modifier. La seconde figure montre les champs étendus. Pour étendre et réduire les champs, cliquez sur la flèche dans leur barre de titre.

Obj3 grid.jpg

Contrôle TDBGrid avec Expanded défini à False

Obj grid.jpg

Contrôle TDBGrid avec Expanded défini à True

Le tableau suivant énumère les propriétés qui affectent l'affichage des champs ADT et tableau dans un objet TDBGrid :

Propriétés relatives à l'affichage des champs composites :



Propriété Objet Utilisation

Expandable

TColumn

Indique si la colonne peut être étendue pour afficher les champs enfants dans des colonnes séparées et modifiables. (lecture seule)

Expanded

TColumn

Spécifie si la colonne est étendue.

MaxTitleRows

TDBGrid

Spécifie le nombre maximum de lignes de titre pouvant apparaître dans la grille.

ObjectView

TDataSet

Spécifie si les champs apparaissent aplanis, ou dans un mode objet, où chaque champ objet peut être développé et réduit.

ParentColumn

TColumn

Fait référence à l'objet TColumn auquel appartient la colonne du champ enfant.



Remarque :  Outre des champs ADT et array, certains ensembles de données comprennent des champs qui font référence à un autre ensemble de données (champs ensemble de données) ou à un enregistrement appartenant à d'autres champs ensemble de données (référence). Les grilles orientées données affichent respectivement ces champs sous les formes Ensemble de données ou Référence. A l'exécution, un bouton à points de suspension apparaît à droite. Le fait de cliquer sur ce bouton active une nouvelle fiche dont la grille affiche le contenu du champ. Dans le cas d'un champ ensemble de données, cette grille affiche l'ensemble de données correspondant à la valeur du champ. Dans le cas d'un champ référence, cette grille contient une seule ligne qui affiche l'enregistrement d'un autre ensemble de données.

Voir aussi