|
|
|
|
|
- Présentation
- Comment le faire ?
- Mise en place
- Position de la ligne de calculs
- Personnalisation de la ligne de calculs
- Suppression des lignes de calcul personnalisé
- Exporter les résultats des calculs
- Export via les FAA (Fonctionnalités Automatiques de vos Applications) du champ Table
- Export via les fonctions WLangage
Programmation de calculs personnalisés dans les champs Table (syntaxe préfixée)
WINDEV permet d'insérer simplement des calculs automatiques dans les colonnes des champs Table et Table hiérarchique. A partir de la version 22, il est également possible de réaliser des calculs personnalisés dans les colonnes des champs Table et Table hiérarchique. Ces calculs sont réalisés par programmation. Mise en place Pour mettre en place un calcul personnalisé dans une colonne d'un champ Table (ou Table hiérarchique), utilisez la fonction <Table>.FormuleAjoute. Cette fonction attend en paramètres : - le nom de la colonne prise en compte pour le calcul.
- le libellé de la ligne affichant le calcul dans le champ Table. Si ce libellé n'existe pas, la ligne sera créée. Si ce libellé existe, le calcul sera affiché dans la colonne voulue.
- le nom de trois procédures. Ces procédures permettent :
- d'initialiser le calcul,
- de réaliser un calcul pour chaque ligne du champ Table,
- de réaliser le calcul final si nécessaire.
Exemple :
TABLE_MaTable.FormuleSupprimeTout() nLigne est entier nLigne = TABLE_MaTable.COL_Num.FormuleAjoute("Moyenne positive", ProcInit, ProcAjout, ProcFin) // Changement de la couleur de fond de la ligne du calcul personnalisé COL_Num[nLigne].CouleurFond = RougeClair  nCompteur est entier PROCÉDURE INTERNE ProcInit() nCompteur = 0 RENVOYER 0 FIN  PROCÉDURE INTERNE ProcAjout(Accumulateur, ValeurCol) // Ignore les négatifs ou NULL SI (ValeurCol <= 0) RENVOYER Accumulateur nCompteur++ RENVOYER Accumulateur + ValeurCol FIN PROCÉDURE INTERNE ProcFin(Accumulateur) SI nCompteur = 0 ALORS RENVOYER 0 // Calcul de la moyenne RENVOYER  Accumulateur/nCompteur FIN Remarques : - Les lignes de calculs personnalisés sont automatiquement recalculées dès que le contenu du champ Table (ou Table hiérarchique) change.
Conseil : La procédure d'itération est appelée pour chaque ligne : il est recommandé de ne pas faire de calculs trop lents (par exemple, éviter les accès à la base de données). - La propriété TotauxActif permet d'interdire ou de forcer les calculs de colonnes (automatiques ou personnalisés) effectués dans un champ Table.
- Si la propriété AffichageActif est utilisée sur le champ Table et correspond à Faux, les calculs de colonnes ne sont pas mis à jour.
- Pour récupérer la valeur du calcul personnalisé d'une colonne, il suffit d'utiliser la syntaxe suivante :
<Champ Table>.<Nom de la colonne>[Numéro ligne] où <Numéro ligne> correspond à l'indice de ligne renvoyé par la fonction <Table>.FormuleAjoute.
Position de la ligne de calculs Pour configurer la position des calculs de colonnes (automatiques ou personnalisés) : - Affichez l'onglet "Général" du champ Table (pour cela, sélectionnez le nom du champ Table et cliquez sur l'onglet "Général").
- Indiquez la position des totaux. Pour afficher le ou les résultats :
- dans une ou plusieurs lignes ajoutées directement après la dernière ligne du champ, cochez l'option "Dans la table, après la dernière ligne".
Ces lignes sont visibles uniquement :- au bas du champ Table, si le champ ne possède pas d'ascenseur vertical.
- quand l'ascenseur vertical est tout en bas, si le champ Table possède un ascenseur vertical.
- sous le champ Table, cochez l'option "Sous la table".
Ces lignes sont toujours visibles. - il est également possible de réaliser des calculs de colonnes sans les afficher (option "Sans affichage").
- Validez la fenêtre de description du champ Table.
Personnalisation de la ligne de calculs Il est possible de personnaliser (libellé, couleur, police, hauteur, ...) : - la ligne ajoutée en utilisant la syntaxe suivante :
<Champ Table>[Numéro ligne].<Propriété> = <Nouvelle valeur> - la cellule contenant le résultat en utilisant la syntaxe suivante :
<Champ Table>.<Nom de la colonne>[Numéro ligne].<Propriété> = <Nouvelle valeur> Attention : la première colonne contient le libellé du calcul s'il existe.
où : - <Numéro ligne> correspond à l'indice de ligne renvoyé par la fonction <Table>.FormuleAjoute.
- <Propriété> peut correspondre à une des propriétés suivantes :
| | Couleur | Permet de connaître et de modifier la couleur du texte affiché dans une cellule de calcul. | CouleurFond | Permet de connaître et de modifier la couleur de fond d'une cellule de calcul. | Etat | Permet de connaître et de modifier l'état d'affichage de la ligne contenant la cellule de calcul. | Hauteur | Permet de connaître et de modifier la hauteur d'une cellule de calcul. | Largeur | Permet de connaître et de modifier la largeur d'une cellule de calcul. | Libellé | Permet de connaître et de modifier le libellé de la ligne contenant une cellule de calcul. | Nom | Permet de connaître le nom d'une cellule de calcul. | Note | Permet de connaître et de modifier les notes associées à une cellule de calcul. | Police | Permet de connaître et de modifier la police utilisée dans une cellule de calcul. | PoliceBarrée | Permet de connaître et de modifier l'attribut "Barré" pour une cellule de calcul. | PoliceCondensée | Permet de savoir si les caractères des éléments de la colonne sont condensés ou non, et de condenser ou non les caractères des éléments de la colonne. | PoliceEtendue | Permet de savoir si les caractères des éléments de la colonne sont étendus ou non et d'étendre ou non les caractères des éléments de la colonne. | PoliceGras | Permet de connaître et de modifier l'attribut "Gras" pour les éléments de la colonne. | PoliceItalique | Permet de connaître et de modifier l'attribut "Italique" pour les éléments de la colonne. | PoliceLarge | Permet de savoir si les caractères des éléments de la colonne sont élargis ou non, et d'élargir ou non les caractères des éléments de la colonne. | PoliceNom | Permet de connaître et de modifier la police utilisée pour les éléments de la colonne. | PoliceSoulignée | Permet de connaître et de modifier l'attribut "Souligné" pour les éléments de la colonne. | PoliceTaille | Permet de connaître et de modifier la taille de la police utilisée pour les éléments de la colonne. | Visible | Permet de savoir si une colonne est visible et de rendre visible / invisible une colonne. |
Suppression des lignes de calcul personnalisé Pour supprimer les lignes de calcul personnalisé, utilisez la fonction <Table>.FormuleSupprimeTout. Exporter les résultats des calculs Export via les FAA (Fonctionnalités Automatiques de vos Applications) du champ Table Le menu contextuel des champs Table et Table hiérarchique propose par défaut des options permettant d'exporter le contenu du champ. Lors de cet export, les résultats des calculs personnalisés sont exportés. Remarque : Seule la valeur est exportée, pas le libellé. Export via les fonctions WLangage Diverses fonctions WLangage permettent d'exporter le contenu d'un champ Table dans un format spécifique (Word, Excel, XML, ...). Lors de cet export, par défaut les lignes correspondant à un calcul sont également exportées. Pour ne pas exporter les lignes de calculs, il suffit de spécifier la constante taSansTotaux dans les fonctions suivantes : | | <Table>.VersExcel | Crée un fichier Excel avec les données d'un champ Table ou Table hiérarchique. | <Table>.VersPressePapier | Copie le contenu d'un champ Table ou Table hiérarchique dans le presse-papiers. | <Table>.VersTexte | Crée une chaîne de caractères avec les données d'un champ Table ou Table hiérarchique. | <Table>.VersWord | Crée un fichier Word (.RTF) avec les données d'un champ Table ou Table hiérarchique. | <Table>.VersXML | Crée un fichier XML avec les données d'un champ Table ou Table hiérarchique. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|