4D View v14PV AJOUTER CHAMPS DYNAMIQUES |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D View v14
PV AJOUTER CHAMPS DYNAMIQUES
|
PV AJOUTER CHAMPS DYNAMIQUES ( zone ; primaire ; tabTables ; tabChamps ; tabMéthodes ) | ||||||||
Paramètre | Type | Description | ||||||
zone | Entier long |
![]() |
Zone 4D View | |||||
primaire | Entier |
![]() |
Numéro de table primaire | |||||
tabTables | Tableau entier |
![]() |
Tableau des numéros de tables | |||||
tabChamps | Tableau entier |
![]() |
Tableau des numéros de champs | |||||
tabMéthodes | Tableau chaîne |
![]() |
Tableau des noms de méthodes de rétro-appel | |||||
La commande PV AJOUTER CHAMPS DYNAMIQUES ajoute dans zone un bloc de lignes correspondant aux valeurs des champs définis par tabTables et tabChamps pour la sélection courante de la table définie par primaire, à partir de la cellule A1. Si des colonnes dynamiques ont déjà été définies dans zone, le nouveau bloc est ajouté à partir de la ligne 1 de la première colonne disponible.
Les valeurs des champs peuvent être modifiées directement depuis 4D View via les cellules correspondantes.
Le résultat est toujours présenté verticalement (il y a autant de colonnes que d’éléments de tableaux tabTables, tabChamps et tabMéthodes).
Note : Si une zone de tableaux dynamiques existait déjà via l’utilisation de la commande PV AJOUTER TAB DYNAMIQUES, elle est supprimée et remplacée par la zone de champs dynamiques.
Pour n’importe quelle colonne, l’opération peut concerner une table liée à la table primaire par un lien. Ce dernier doit être de type automatique et aller de la table primaire vers la table du champ à afficher. Dans la structure traditionnelle des factures et des lignes de factures, il permet par exemple de récupérer et de modifier le contenu d’un champ de la table des lignes, mais également celle des factures par rapport à une sélection de la table des lignes de factures (table primaire).
Chaque méthode de rétro-appel reçoit les 6 paramètres suivants :
$1 : Zone
$2 : Numéro de colonne
$3 : Type du tableau (interne à 4D View)
$4 : Pointeur sur ce tableau
$5 : Numéro de la première ligne à (re)dessiner
$6 : Nombre de lignes à (re)dessiner dans la zone
Note : En vue de la compilation de la base, il est impératif de déclarer ces paramètres, même s'ils ne sont pas utilisés.
$5 et $6 : Lorsque l'utilisateur fait défiler les lignes (enregistrements) dans la zone, seules les nouvelles lignes à afficher sont redessinées. Les paramètres $5 et $6 permettent de connaître les lignes concernées.
Il vous appartient de remplir le tableau de méthodes de rétro-appel. 4D View utilisera ensuite ce tableau pour remplir la colonne calculée. Il n’y a pas de valeur de retour ($0).
La commande PV AJOUTER CHAMPS DYNAMIQUES maintient un lien dynamique avec les champs passés en paramètres. Ceci a pour conséquence de répercuter les modifications de valeurs effectuées dans la zone 4D View au sein du ou des champ(s), et réciproquement.
Notes
Cet exemple illustre le cas d’une table incluse saisissable dans un formulaire de saisie (avec 4D View, cette opération devient d'une facilité déconcertante). Nous allons présenter en modification les champs de la table des contacts liés au client courant, avec leurs fonctions (table liée) et les initiales de chaque contact (colonne calculée).
TABLEAU ENTIER($TabTables;4) `N°s des tables
TABLEAU ENTIER($TabChamps;4) `N°s des champs
TABLEAU ALPHA(30;$TabMéthodes;4) `Noms des méthodes de rétro-appel
`Colonne 1 : nom du contact
$TabTables{1}:=Table(->[Contacts])
$TabChamps{1}:=Champ(->[Contacts]NomDuContact)
$TabMéthodes{1}:=""
`Colonne 2 : prénom du contact
$TabTables{2}:=Table(->[Contacts])
$TabChamps{2}:=Champ(->[Contacts]PrénomDuContact)
$TabMéthodes{2}:=""
`Colonne 3 : titre du contact (table liée)
$TabTables{3}:=Table(->[Titres])
$TabChamps{3}:=Champ(->[Titres]Libellé)
$TabMéthodes{3}:=""
`Colonne 4 : numéro d'ordre / total (colonne calculée)
$TabTables{4}:=0
$TabChamps{4}:=Est un texte `Résultat
$TabMéthodes{4}:="MéthodeAppel"
LIEN RETOUR([Clients]Code) `Récupère les contacts
PV AJOUTER CHAMPS DYNAMIQUES(Zone;Table(->[Contacts]);$TabTables;$TabChamps;$TabMéthodes)
Le code de la méthode projet MéthodeAppel est le suivant :
C_ENTIER LONG($1) `Zone 4D View
C_ENTIER LONG($2) `Numéro de colonne
C_ENTIER LONG($3) `Type du tableau
C_POINTEUR($4) `Pointeur sur ce tableau
C_ENTIER LONG($5) `Première ligne de la zone dynamique
C_ENTIER LONG($6) `Nombre de lignes pouvant être affichées dans la zone
ALLER DANS SELECTION([Contacts];$5)
Boucle($i;1;$6)
$4->{$i}:=Sous chaine([Contacts]PrénomDuContact;1;1)+Sous chaine([Contacts]NomDuContact;1;1)
ENREGISTREMENT SUIVANT([Contacts])
Fin de boucle
Produit : 4D View
Thème : PV Valeur de cellule
Numéro :
15900
Nom intl. : PV ADD DYNAMIC FIELDS
Créé : 4D View 6.8
PV AJOUTER TAB DYNAMIQUES
PV CHAMP VERS CELLULES
PV EFFACER COL DYNAMIQUES
PV FIXER CHAMP CELLULE
4D View - Langage ( 4D View v11.4)
4D View - Langage ( 4D View v12)
4D View - Langage ( 4D v13)
4D View - Langage ( 4D View v14 R2)
4D View - Langage ( 4D View v14)
4D View - Langage ( 4D View v14 R3)
4D View - Langage ( 4D View v14 R4)