Manipulation de champs booléens avec des cases à cocher

De RAD Studio
Aller à : navigation, rechercher

Remonter à Affichage d'un seul enregistrement


Vcl.DBCtrls.TDBCheckBox est un contrôle case à cocher orientée données. Vous pouvez l'utiliser pour définir les valeurs de champs booléens dans un ensemble de données. Par exemple, un formulaire de facture peut comporter une case qui, quand elle est cochée, indique que le client est exonéré d'impôt et, quand elle ne l'est pas, indique qu'il est imposable.

Le composant TDBCheckbox contrôle son propre état (activation ou désactivation) en comparant le contenu du champ au contenu des propriétés ValueChecked et ValueUnchecked. Si la valeur de la propriété ValueChecked correspond à la valeur du champ, le contrôle est activé. Si la valeur de la propriété ValueUnchecked, correspond à la valeur du champ, le contrôle est désactivé.

Remarque :  Les valeurs des propriétés ValueChecked et ValueUnchecked ne peuvent pas être identiques.

Donnez à la propriété ValueChecked une valeur que le contrôle doit écrire dans la base de données s'il est activé lorsque l'utilisateur passe à un autre enregistrement. Par défaut, cette valeur est à "true", mais vous pouvez la changer en valeur alphanumérique en fonction de vos besoins. Vous pouvez également entrer une liste d'éléments délimités par des points-virgules comme valeur de ValueChecked. Si l'un de ces éléments correspond au contenu de ce champ dans l'enregistrement en cours, la case est activée. Par exemple, vous pouvez spécifier une chaîne ValueChecked comme :

 DBCheckBox1.ValueChecked := 'True;Yes;On';

Si le champ de l'enregistrement en cours contient des valeurs "True", "Yes" ou "On", c'est que la case est activée. Aucune distinction majuscules/minuscules n'est effectuée pendant la comparaison du champ avec les chaînes de ValueChecked. Si un utilisateur active une case à cocher pour laquelle il y a plusieurs chaînes ValueChecked, la première est la valeur écrite dans la base de données.

Donnez à la propriété ValueUnchecked une valeur que le contrôle doit écrire dans la base de données s'il n'est pas activé lorsque l'utilisateur passe à un autre enregistrement. Par défaut, cette valeur est définie comme "false", mais vous pouvez lui donner n'importe quelle valeur alphanumérique en fonction de vos besoins. Vous pouvez également entrer une liste d'éléments délimités par des points-virgules en tant que valeur de ValueUnchecked. Si l'un des éléments correspond au contenu de ce champ dans l'enregistrement en cours, la case à cocher n'est pas activée.

Une case à cocher orientée données est désactivée à chaque fois que le champ de l'enregistrement en cours ne contient pas l'une des valeurs de la liste des propriétés ValueChecked ou ValueUnchecked.

Si le champ associé à la case à cocher est un champ logique, elle est toujours activée lorsque le contenu du champ est à True et désactivée s'il est à False. Dans ce cas, les chaînes entrées dans les propriétés ValueChecked et ValueUnchecked sont sans effet sur les champs logiques.

Voir aussi