Utilisation d'un contrôle grille à son état par défaut

De RAD Studio
Aller à : navigation, rechercher

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


La propriété 'State' des colonnes d'une grille indique si des objets colonnes persistantes existent. Columns.State est une propriété d'exécution et est automatiquement définie pour la grille. Sa valeur par défaut est csDefault, ce qui signifie que les objets colonne persistante n'existent pas. Dans ce cas, l'affichage des données dans la grille est essentiellement déterminé par les propriétés des champs de l'ensemble de données de la grille ou, en l'absence de composants champs persistants, par les valeurs d'affichage par défaut.

Lorsque la propriété Columns.State de la grille vaut csDefault, les colonnes des grilles sont générées dynamiquement à partir des champs visibles de l'ensemble de données, et leur ordre dans la grille correspond à celui des champs dans l'ensemble de données. Chaque colonne de la grille est associée à un composant champ. Les modifications des propriétés des composants champ sont immédiatement reflétées dans la grille.

Il peut être utile d'utiliser un contrôle grille ayant des colonnes dynamiquement générées pour afficher et modifier le contenu de certaines tables sélectionnées à l'exécution. La structure de la grille n'étant pas définie, elle peut changer en temps réel pour afficher différents ensembles de données. Une grille unique avec des colonnes dynamiquement générées peut afficher une table Paradox à un certain moment, puis les résultats d'une requête SQL lorsque sa propriété DataSource est modifiée, ou lorsque la propriété DataSet de la source des données est modifiée.

L'apparence d'une colonne dynamique peut être modifiée lors de la conception ou à l'exécution ; dans les deux cas, ce sont les propriétés correspondantes du composant champ affiché dans la colonne que vous modifiez. La durée des propriétés des colonnes dynamiques correspond à la période où une colonne est associée à un champ particulier dans un ensemble de données unique. Par exemple, la modification de la propriété 'Width d'une colonne change la propriété 'DisplayWidth du champ associé à cette colonne. Les modifications de propriétés de colonnes non basées sur des propriétés de champs, telles que la propriété Font, ne sont valides que pendant l'existence de ces colonnes.

Si l'ensemble de données d'une grille consiste en un ensemble de composants champs dynamiques, les champs sont détruits dès la fermeture de l'ensemble de données. Lorsque les composants champs sont détruits, les colonnes qui leur sont associées sont également détruites. Si l'ensemble de données d'une grille consiste en un ensemble de composants champs persistants, les composants champs existent même si l'ensemble de données est fermé, de telle sorte que toutes les colonnes associées à ces champs gardent leurs propriétés à la fermeture de l'ensemble de données.

Remarque :  Si la propriété Columns.State d'une grille est mise à csDefault à l'exécution, tous les objets colonnes de la grille sont supprimés (même les colonnes persistantes) et les colonnes dynamiques sont reconstruites à partir des champs visibles dans l'ensemble de données de la grille.

Voir aussi