Utilisation d'expressions d'analyse et de format personnalisés dans LiveBindings
Remonter à LiveBindings dans RAD Studio
Lorsque vous liez des contrôles, des propriétés ou des champs avec LiveBindings, vous souhaiterez probablement modifier les données situées à une extrémité d'une liaison avant que ces données n'atteignent l'autre extrémité de la liaison. Par exemple, si vous disposez d'un ensemble de données comportant une liste de noms de couleurs en lettres majuscules, vous souhaiterez probablement les convertir en minuscules avant de présenter la liste. Ces changements se font souvent dans les deux sens ; par exemple, si vous disposez d'un ensemble de données comportant des dates ISO, vous souhaiterez probablement les convertir au format de date local lors de leur présentation à l'utilisateur, et vous voudrez également convertir toute date, entrée manuellement par l'utilisateur, au format ISO avant de la stocker dans votre ensemble de données.
Lorsque vous liez des contrôles, des propriétés ou des champs avec LiveBindings, vous créez une instance d'une classe de liaison telle que TLinkFillControlToField ou TLinkFillControlToProperty. Les propriétés de ces classes incluent les deux types de propriétés suivants :
- Les propriétés
CustomFormat
, telles queFillBreakCustomFormat
ouFillDisplayCustomFormat
. Dans ces propriétés, vous pouvez définir une expression qui modifie la valeur du contrôle, de la propriété ou du champ source. - Les propriétés
CustomParse
, telles queFillBreakCustomParse
ouFillDisplayCustomParse
. Dans ces propriétés, vous pouvez définir une expression qui modifie la valeur d'entrée avant son stockage dans le contrôle, la propriété ou le champ source.
Sommaire
Spécification d'une expression d'analyse ou de format personnalisé
Pour spécifier une expression d'analyse ou de format personnalisé dans une liaison existante entre des contrôles, des champs ou des propriétés :
- Ouvrez le Concepteur LiveBindings et sélectionnez la liaison cible.
- Dans l'inspecteur d'objets :
- Pour spécifier une expression de format personnalisé, localisez la valeur de la propriété
CustomFormat
correspondante (par exemple,FillHeaderCustomFormat
ouFillValueCustomFormat
), entrez une expression de liaison, telle queLowerCase(%s)
, et appuyez sur Entrée pour enregistrer cette nouvelle valeur de propriété.
- L'ajout de cette expression garantit que les valeurs du contrôle, de la propriété ou du champ source sont affectées par l'expression spécifiée avant leur transmission au contrôle, à la propriété ou au champ cible.
- Pour spécifier une expression d'analyse personnalisée, localisez la valeur de la propriété
CustomParse
correspondante (par exemple,FillHeaderCustomParse
ouFillValueCustomParse
), entrez une expression de liaison, telle queUpperCase(%s)
, et appuyez sur Entrée pour enregistrer cette nouvelle valeur de propriété.
- Les valeurs d'entrée sont maintenant affectées par l'expression spécifiée avant leur stockage dans le contrôle, la propriété ou le champ source.
- Pour spécifier une expression de format personnalisé, localisez la valeur de la propriété
Expressions de liaison
L'expression de liaison la plus simple que vous pouvez utiliser est %s
, où %s
correspond à la valeur source. Ainsi, si vous utilisez simplement %s
dans une propriété de format personnalisé d'une liaison, la valeur source ne change pas ; le résultat est le même que si vous aviez laissé vide la propriété de format personnalisé.
Accès à l'objet source
Vous pouvez également utiliser Self.Owner
pour accéder à l'objet source ; cela vous donne accès non seulement aux données associées à la liaison, mais également à toutes les données de l'objet source. Vous pouvez utiliser l'une des expressions suivantes pour accéder à une portion de données de l'objet source :
Self.Owner.Field.Property
. Par exemple :Self.Owner.CUSTOMER.Text
.- Remarque : Vous pouvez utiliser cette syntaxe tant que le nom de l'objet source ("CUSTOMER" dans l'exemple précédent) est un ID valide. Si l'objet source est un champ, il est possible que son nom ne soit pas valide ; dans ce cas, utilisez plutôt la syntaxe ci-dessous :
Self.Owner.FieldByName('Field').Property
.- Par exemple :
Self.Owner.FieldByName('CUSTOMER').Text
.
- Par exemple :
Utilisation de symboles mathématiques
Vous pouvez utiliser les symboles mathématiques suivants dans vos expressions :
- Constantes :
nil True False Pi
- Opérateurs arithmétiques :
+ - * /
- Opérateurs logiques :
= <> < <= > >=
- Parenthèses,
()
, pour changer la priorité des opérateurs.
Concaténation de chaînes
Pour ajouter un préfixe ou un suffixe à la valeur source, entourez cette chaîne supplémentaire d'apostrophes ( ' ) et utilisez un signe plus (+) pour concaténer votre chaîne à la chaîne source. Par exemple, 'Hello, ' + %s + '!'
.
Utilisation des méthodes LiveBindings
Les méthodes LiveBindings sont des méthodes que vous pouvez utiliser dans vos expressions de liaison personnalisées. Par exemple, vous pourriez écrire une expression telle que 'I like ' + LowerCase(%s) + ' crayons'
, où la chaîne source, %s
, serait convertie en caractères minuscules.
- Remarque : Les méthodes LiveBindings sont sensibles à la casse. Si le nom de la méthode LiveBindings est
LowerCase
, l'utilisation deLowercase
ou delowercase
ne fonctionne pas.
RAD Studio fournit de nombreuses méthodes LiveBindings par défaut que vous pouvez utiliser, telles que LowerCase
, UpperCase
ou Format
. Pour obtenir une liste de ces méthodes ainsi que leur documentation, voir Méthodes LiveBindings par défaut
Vous pouvez également créer vos propres méthodes LiveBindings. Voir Création de méthodes LiveBindings personnalisées.
Lorsque vous liez des contrôles, des propriétés ou des champs avec le Concepteur LiveBindings, un composant TBindingsList est ajouté à votre fiche. Vous pouvez ouvrir la propriété Methods
de ce composant pour voir une liste de méthodes LiveBindings disponibles que vous pouvez utiliser dans vos expressions de liaison personnalisées, celles fournies par RAD Studio et vos propres méthodes LiveBindings personnalisées.