Améliorations des contrôles d'interface (Version 11.00)

De Wiki1000
(Différences entre les versions)
(Dataset sur une interface)
Ligne 64 : Ligne 64 :
 
* Ce paramètre peut être un argument de l'écran
 
* 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.
 
* 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 attribut a changé===
 
===Evènement attribut a changé===

Version du 4 octobre 2023 à 09:06

Sommaire


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 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)
  • (C) : Valeur négative
  • (D) : Valeur positive

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 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.




Whos here now:   Members 0   Guests 0   Bots & Crawlers 1
 
Outils personnels