Composants champ dynamique

De RAD Studio
Aller à : navigation, rechercher

Remonter à Manipulation des composants champ - Index


Les composants champ générés dynamiquement correspondent au comportement par défaut. En fait, tous les composants champ d'un ensemble de données sont créés dynamiquement à chaque fois que vous placez un ensemble de données dans un module de données puis spécifiez comment l'ensemble de données récupère ses données et l'ouvrez. Un composant champ est dynamique s'il est créé automatiquement en fonction de la structure physique sous-jacente des données représentées par un ensemble de données. Les ensembles de données génèrent un composant champ pour chaque colonne de données sous-jacentes. Le descendant de Data.DB.TField créé pour chaque colonne est déterminé par les informations de type de champ envoyées par la base de données ou par le composant fournisseur (pour TClientDataSet).

Les champs dynamiques sont temporaires. Leur durée de vie équivaut à la durée d'ouverture d'un ensemble de données. A chaque nouvelle ouverture d'un ensemble de données utilisant des champs dynamiques, il reconstruit un ensemble de composants champ dynamiques à partir de la structure des données sous-jacentes. Si les colonnes des données sous-jacentes changent, à la prochaine ouverture d'un ensemble de données utilisant des composants champ dynamiques, les composants champ générés automatiquement changeront également.

Les champs dynamiques doivent être utilisés dans des applications flexibles en matière d'édition et d'affichage des données. Par exemple, pour créer un outil de visualisation de bases de données vous devez utiliser des champs dynamiques, car chaque table de base de données n'a pas le même nombre de colonnes et ses colonnes sont de types différents. Les champs dynamiques s'utilisent aussi dans des applications où l'interaction utilisateur avec les données se produit à l'intérieur des composants grille et lorsque les ensembles de données utilisés par l'application changent souvent.

Pour utiliser des champs dynamiques dans une application

  1. Placez des ensembles de données et des sources de données dans un module de données.
  2. Associez les ensembles de données aux données. Cela suppose l'utilisation d'un fournisseur ou composant connexion pour connecter la source des données et définir les propriétés qui déterminent les données représentées par l'ensemble de données.
  3. Associez les sources de données aux ensembles de données.
  4. Placez des contrôles orientés données dans les fiches de votre application, ajoutez le module de données dans chaque clause uses des unités de fiches, et associez chaque contrôle orienté données à une source de données du module. Il faut aussi associer un champ à chaque contrôle orienté données le nécessitant. Etant donné que vous utilisez des composants champ dynamiques, l'existence des noms des champs à l'ouverture de l'ensemble de données n'est pas garantie.
  5. Ouvrez les ensembles de données.

Les champs dynamiques présentent malgré tout quelques limites. Sans écrire de code, il est impossible de changer leurs paramètres par défaut d'affichage et d'édition, il est difficile de modifier leur ordre d'affichage sans prendre de risque et il est impossible d'empêcher l'accès à des champs de l'ensemble de données. Des champs supplémentaires comme les champs de référence ou les champs calculés ne peuvent pas être créés pour l'ensemble de données et il est impossible de surcharger le type par défaut d'un champ dynamique. Pour un plus grand contrôle des champs de vos applications de bases de données, vous devez appeler l'éditeur de champs et créer des champs persistants.

Voir aussi