Améliorations des contrôles d'interface (Version 11.00)
(Page créée avec « ==Navigation vers une URL externe== Utilisez un contrôle de type TDragLabel associé à un contrôle d'édition simple. *Contrôle d'édition :Visible: false :Text: url... ») |
(→Evènement attribut a changé) |
||
(3 révisions intermédiaires par un utilisateur sont masquées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | __TOC__ | ||
+ | |||
==Navigation vers une URL externe== | ==Navigation vers une URL externe== | ||
Ligne 11 : | Ligne 13 : | ||
:LinkControl: contrôle d'édition | :LinkControl: contrôle d'édition | ||
:Visible: true | :Visible: true | ||
+ | |||
+ | ==Lien vers un écran== | ||
+ | |||
+ | Le nom de l'écran peut être défini par un attribut de la source de données associée au lien. | ||
+ | |||
+ | ==Grille== | ||
+ | |||
+ | ===Colonne de type bouton=== | ||
+ | |||
+ | Les colonnes de type bouton supportent un nouveau mode d'affichage "lien" | ||
+ | |||
+ | Dans ce mode, la valeur du champs associé à la colonne est affiché (comme une colonne de type chaîne) sous forme de lien. | ||
+ | |||
+ | ===Format des montants=== | ||
+ | |||
+ | Le champ format d'une colonne de grille affichant des montants supporte les paramètres suivant : | ||
+ | |||
+ | {|class="wikitable" | ||
+ | |- | ||
+ | |#TC# | ||
+ | |Code ISO de la devise de tenu de compte | ||
+ | |- | ||
+ | |#RP# | ||
+ | |Code ISO de la devise de reporting | ||
+ | |- | ||
+ | |#TR# | ||
+ | |Code ISO de la devise de transaction | ||
+ | |- | ||
+ | |! | ||
+ | |Affiche le sens du montant correspondant à (Débit-Credit) | ||
+ | * (C) : Valeur négative | ||
+ | * (D) : Valeur positive | ||
+ | |} | ||
+ | |||
+ | Exemple : | ||
+ | |||
+ | <pre> | ||
+ | Valeur : -1000 | ||
+ | Devise TC : Euro | ||
+ | format : ,0.00 #TC# ! | ||
+ | Affiche : 1 000.00 EUR (C) | ||
+ | </pre> | ||
+ | |||
+ | ==Dataset== | ||
+ | ===Dataset sur une interface=== | ||
+ | |||
+ | Il est possible d'utiliser une interface comme classe d'un dataset. | ||
+ | |||
+ | * La classe concrète utilisée est alors définie par le paramètre ClassFilter du dataset | ||
+ | * Ce paramètre peut être un argument de l'écran | ||
+ | * Si la classe n'est pas définie la première classe implémentant l'interface est utilisée. | ||
+ | |||
+ | Exemple : | ||
+ | |||
+ | Dans une interface utilisant un modèle MVC, vous pouvez afficher une vue dont le calcul varie suivant un paramètre | ||
+ | |||
+ | Pour cela : | ||
+ | |||
+ | * Définissez l'interface commune de la vue | ||
+ | * Définissez des classes vue implémentant cette interface | ||
+ | * Utilisez un dataset sur cette interface | ||
+ | * Utilisez un contrôleur pour définir la vue à afficher en fonction du paramétrage à l'aide d'un attribut calculé (GetClassView). | ||
+ | * Définissez un paramètre décran sur cet attribut calculé (ArgClassView) | ||
+ | * Définissez la propriété ClassFilter du dataset de l'interface sur ce paramètre d'écran (ClassFilter=ArgClassView) | ||
+ | |||
+ | Lorsque le dataset vue est rafraîchi, la classe de l'interface est redéfinie. | ||
+ | |||
+ | ===Evènement un attribut a changé=== | ||
+ | |||
+ | Les datasets émettent un nouvel évènement evsOnDataSetChangeEvent déclenché lorsqu'un attribut de l'objet associé à changé. | ||
+ | |||
+ | Utilisez GridFieldName du déclencheur pour définir l'attribut pris en compte. | ||
+ | |||
+ | Exemple : | ||
+ | |||
+ | Dans une interface utilisant un modèle MVC, vous pouvez contrôler le filtre d'un dataset par un attribut non persistant du contrôleur. | ||
+ | |||
+ | Pour cela: | ||
+ | * Ajouter un dataset sur la classe contrôleur | ||
+ | * Ajouter un dataset sur la classe vue à afficher. | ||
+ | * Ajouter un datasetRefresh sur le dataset de la classe vue. | ||
+ | * Définissez un attribut non persistent calculant le filtre du dataset (GetFiltre) | ||
+ | * Définissez un argument d'écran sur cet attribut (ArgFiltre) | ||
+ | * Définissez le filtre du dataset sur le paramètre d'écran (filter=%ArgFiltre) | ||
+ | * Déclenchez le datasetRefresh sur l'évènement evsOnDataSetChangeEvent du dataset du contrôleur avec GridFieldName=GetFilter. | ||
+ | |||
[[Category:Version1100]] | [[Category:Version1100]] |
Version actuelle en date du 4 octobre 2023 à 08:10
Sommaire |
Utilisez un contrôle de type TDragLabel associé à un contrôle d'édition simple.
- Contrôle d'édition
- Visible: false
- Text: url vers laquelle naviguer
- Contrôle drag label
- Caption: libellé associée à l'url
- LinkControl: contrôle d'édition
- Visible: true
Lien vers un écran
Le nom de l'écran peut être défini par un attribut de la source de données associée au lien.
Grille
Colonne de type bouton
Les colonnes de type bouton supportent un nouveau mode d'affichage "lien"
Dans ce mode, la valeur du champs associé à la colonne est affiché (comme une colonne de type chaîne) sous forme de lien.
Format des montants
Le champ format d'une colonne de grille affichant des montants supporte les paramètres suivant :
#TC# | Code ISO de la devise de tenu de compte |
#RP# | Code ISO de la devise de reporting |
#TR# | Code ISO de la devise de transaction |
! | Affiche le sens du montant correspondant à (Débit-Credit)
|
Exemple :
Valeur : -1000 Devise TC : Euro format : ,0.00 #TC# ! Affiche : 1 000.00 EUR (C)
Dataset
Dataset sur une interface
Il est possible d'utiliser une interface comme classe d'un dataset.
- La classe concrète utilisée est alors définie par le paramètre ClassFilter du dataset
- Ce paramètre peut être un argument de l'écran
- Si la classe n'est pas définie la première classe implémentant l'interface est utilisée.
Exemple :
Dans une interface utilisant un modèle MVC, vous pouvez afficher une vue dont le calcul varie suivant un paramètre
Pour cela :
- Définissez l'interface commune de la vue
- Définissez des classes vue implémentant cette interface
- Utilisez un dataset sur cette interface
- Utilisez un contrôleur pour définir la vue à afficher en fonction du paramétrage à l'aide d'un attribut calculé (GetClassView).
- Définissez un paramètre décran sur cet attribut calculé (ArgClassView)
- Définissez la propriété ClassFilter du dataset de l'interface sur ce paramètre d'écran (ClassFilter=ArgClassView)
Lorsque le dataset vue est rafraîchi, la classe de l'interface est redéfinie.
Evènement un attribut a changé
Les datasets émettent un nouvel évènement evsOnDataSetChangeEvent déclenché lorsqu'un attribut de l'objet associé à changé.
Utilisez GridFieldName du déclencheur pour définir l'attribut pris en compte.
Exemple :
Dans une interface utilisant un modèle MVC, vous pouvez contrôler le filtre d'un dataset par un attribut non persistant du contrôleur.
Pour cela:
- Ajouter un dataset sur la classe contrôleur
- Ajouter un dataset sur la classe vue à afficher.
- Ajouter un datasetRefresh sur le dataset de la classe vue.
- Définissez un attribut non persistent calculant le filtre du dataset (GetFiltre)
- Définissez un argument d'écran sur cet attribut (ArgFiltre)
- Définissez le filtre du dataset sur le paramètre d'écran (filter=%ArgFiltre)
- Déclenchez le datasetRefresh sur l'évènement evsOnDataSetChangeEvent du dataset du contrôleur avec GridFieldName=GetFilter.