Définir dynamiquement les colonnes ( la structure )du tableur par requête (liste WfTabStr )
Il est possible de surcharger ou de définir dynamiquement les colonnes du tableur via la requête REB de chargement du tableur !
La liste WfTabStr est alimentée avec les colonnes définies sur l’entête du tableur: un enregistrement correspond à une colonne du tableur.
Dans la requête, il est possible de:
modifier les caractéristiques des colonnes qui y sont déjà déclarées (POUR CHAQUE Liste WfTabStr, RECH PREMIER Liste WFTabStr),
créer des nouvelles colonnes (CREATION Liste WFTabSTr)
Comment modifier la structure du tableur ( les colonnes ) ?
Ici, on souhaite par exemple afficher la colonne “Emplacement” dynamiquement, selon le cas:
Le pilotage dynamique de la structure du tableur ne peut être réalisé que dans la requête REB de chargement du tableur, avant affichage de celui ci. Il n’est pas possible de modifier cette structure, durant phase d’interaction avec l’utilisateur , via la requête RCT locale.
On peut modifier la structure du tableur ( les colonnes), dans la REB d’affichage du tableur avec la liste WfTabStr.
On va aller y modifier la liste WfTabStr, qui permet de modifier tout ce qui touche à la gestion des colonnes:
Comment faire ?
D’autres caractéristiques sont disponibles ! Par défaut, les champs logiques sont à non 😉
|
Comment définir un nombre de colonne variable ?
Il est possible faire varier le nombre de colonnes à ajouter dans notre tableur, sans avoir prédéfini chaque colonne. Par exemple, on souhaite avoir des colonnes correspondant à des dates, et le nombre de dates change à chaque fois…
1ere étape: On crée nos colonnes dans la liste WFTabSTr Pour cela, on créé autant d’enregistrements dans la table WFTabStr qu’il y a des colonnes à créer. Le champ NomCol doit contenir: Racine du nom de la colonne ( ci-contre, on l’a appelée “ValCol”) + “-” + indice numérique de la colonne. 2ème étape: alimenter les valeurs des colonnes Dans la liste personnelle qui alimente le tableur, on déclare un champs de type tableau. Sa référence doit être égale à la racine de la colonne ( ci-contre, “ValCol”) . Le champs tableau est ensuite utilisé comme un champs classique, avec le mot-clé PRENDRE. On doit simplement alimenter l’indice du tableau, en dur ou à l’aide d’une variable. |
Quels sont les champs de la liste WfTabStr ?
La liste WfTabStr se compose des champs suivants:
Champ | Type | Description |
NomCol | Caractère | Référence de la colonne; elle doit être égale à la référence d’un champ de la liste personnelle |
LibCol | Caractère | Libellé de la colonne (titre) |
ForCol | Caractère | Format de la zone de saisie de la colonne
|
CreVal | Caractère | Valeur d’initialisation de la zone en création |
CouCol | Caractère | Couleur du fond de la colonne. Les choix possibles sont : Rouge, Vert, Bleu, Mauve, Jaune, Rose ou Orange Indice couleur défini dans DIAPASON (voir « A Propos de DIAPASON », Onglet « Couleurs ») |
RAcCol | Caractère | Liste des références des actions à ajouter sur cette colonne (voir chapitre correspondant). |
LAcCol | Caractère | Liste des libellés des actions à ajouter sur cette colonne |
NumCol | Numérique | Numéro de colonne dans le tableur, si initialisé à 0 pour toutes les colonnes, elles seront prises par ordre alphabétique |
LarCol | Numérique | Largeur de la colonne (indépendant du format de la colonne) |
AffCol | Logique | Colonne affichée ? |
SaiCol | Logique | Colonne saisie ? |
CtrCol | Logique | Colonne contrôlée ? |
AidCol | Logique | Aide disponible sur la colonne ? |
CreCol | Logique | Sur une ligne créée, possibilité ou non de saisir la zone |
CumCol | Logique | Cumul colonne ? |
ValCum | Logique | Cumul sur valeurs ? Pour des valeurs numériques, si initialisé à « + » alors le cumul est réalisé sur les valeurs, sinon « - » le nombre de lignes est cumulé. Pour des valeurs en mode caractère ou date, le cumul est donné en nombre de lignes. Il n’est pas nécessaire de renseigner la variable ValCum dans le cas d’une colonne cumulée non numérique. |
InvCol | Logique | Colonne en inverse |
FigCol | Logique | Indique si la colonne est figée ou pas. Une colonne figée est cadrée à gauche du tableur et ne défile pas horizontalement. Ce statut est pris en compte seulement pour les colonnes qui sont le plus à gauche du tableur. Il ne peut pas y avoir de colonne figée après une colonne non figée. |
Si le format de certaines variables n’est pas initialisé, les variables logiques le seront par défaut à « +/- », les variables de type caractère à « C/10 », de type réel à « R/8.3 », les entiers à « E/8 » et de type date à « D/JJ/MM/AAAA ».