Création d'une grille personnalisée
Remonter à Visualisation et édition des données avec un contrôle TDBGrid
Une grille personnalisée est un contrôle pour lequel vous définissez des objets colonne persistante décrivant l'aspect d'une colonne et la méthode d'affichage des données dans la colonne. Une grille personnalisée vous permet de configurer plusieurs grilles pour qu'elles affichent diverses vues d'un même ensemble de données (divers ordres de colonnes, divers choix de champs et diverses couleurs et fontes, par exemple). Une grille personnalisée permet aussi aux utilisateurs de modifier l‘aspect de la grille à l'exécution sans affecter les champs utilisés par la grille, ou l'ordre des champs de l'ensemble de données.
L'utilisation des grilles personnalisées est conseillée avec les ensembles de données dont la structure est connue pendant la phase de conception. Comme elles s'attendent à ce que les noms des champs définis à la conception existent dans l'ensemble de données, les grilles personnalisées ne sont pas adaptées si vous devez utiliser des tables arbitraires sélectionnées à l'exécution.
Présentation des colonnes persistantes
Lorsque vous créez des objets colonne persistante pour une grille, ils ne sont associés aux champs sous-jacents de l'ensemble de données de la grille que de façon temporaire. Les valeurs par défaut des propriétés des colonnes persistantes sont lues dynamiquement dans la source par défaut (la grille ou le champ associé, par exemple) jusqu'à ce qu'une valeur soit affectée à la propriété de la colonne. Tant que vous n'avez pas affecté une valeur à une propriété de colonne, sa valeur change si sa source par défaut change. Dès que vous affectez une valeur à une propriété de colonne, elle ne change plus même si sa source par défaut change.
Par exemple, la source par défaut d'un libellé de colonne est la propriété DisplayLabel du champ associé. Si vous modifiez la propriété DisplayLabel, le titre de colonne reflète immédiatement ce changement. Si vous affectez ensuite une chaîne au libellé de la colonne, le titre de la colonne devient indépendant de la propriété DisplayLabel du champ associé. Les modifications de la propriété DisplayLabel du champ ne sont plus reportées dans le titre de la colonne.
Les colonnes persistantes sont indépendantes des composants champ qui leur sont associés. De plus, il n'est pas nécessaire d'associer les colonnes persistantes à des objets champ. Si la propriété FieldName d'une colonne persistante est vide, ou si le nom du champ ne correspond à aucun champ de l'ensemble de données actif dans la grille, la propriété Field de la colonne est NULL et la colonne est dessinée avec des cellules vides. Si vous surchargez la méthode de dessin par défaut de la cellule, vous pouvez afficher vos propres informations dans les cellules vides. Par exemple, vous pouvez utiliser une colonne vide pour afficher des valeurs synthétisées sur le dernier enregistrement d'un groupe d'enregistrements récapitulé par l'agrégat. Vous pouvez aussi afficher un bitmap ou un histogramme représentant les données de l'enregistrement.
Il est possible d'associer une ou plusieurs colonnes persistantes au même champ d'un ensemble de données. Par exemple, vous pouvez afficher un champ contenant une référence d'article à droite et à gauche d'une large grille pour faciliter la recherche d'une référence en évitant à l'utilisateur de faire défiler la grille.
Remarque : Etant donné que les colonnes persistantes n'ont pas besoin d'être associées à un champ d'un ensemble de données, et étant donné que plusieurs colonnes peuvent référencer le même champ, la valeur de la propriété FieldCount d'une grille personnalisée peut être inférieure ou égale au nombre de colonnes d'une grille. Notez également que si la colonne sélectionnée dans la grille personnalisée n'est pas associée à un champ, la propriété SelectedField de la grille vaut NULL et la propriété SelectedIndex vaut -1.
Les colonnes persistantes peuvent être configurées pour afficher des cellules de grille sous forme de liste déroulante dans une boîte à options de valeurs de référence provenant d'un autre ensemble de données ou d'une liste de choix statique, ou sous forme d'un bouton à points de suspension (...) dans une cellule, sur laquelle l'utilisateur peut cliquer pour lancer des visionneurs de données spéciaux ou des boîtes de dialogue en relation avec la cellule en cours.
Les rubriques suivantes fournissent des informations complémentaires sur les colonnes persistantes :
- Création de colonnes persistantes
- Suppression de colonnes persistantes
- Modification de l'ordre des colonnes persistantes
- Définition des propriétés de colonne en mode conception
- Définition d'une colonne de liste de référence
- Insertion d'un bouton dans une colonne
- Restauration des valeurs par défaut d'une colonne