DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Développer une application ou un site / Champs, fenêtres et pages / Champs : Types disponibles / SuperChamp
  • Présentation
  • Création d'un superchamp sous l'éditeur
  • Méthode 1
  • Méthode 2
  • Ajouter un champ dans un superchamp
  • Superchamps et ascenseurs
  • Programmation d'un superchamp
  • Déclaration des variables globales au superchamp
  • Déclaration des fonctions et procédures liées au superchamp
  • Accès au superchamp et aux champs du superchamp
  • Valeur d'un superchamp
  • Fonctions et propriétés spécifiques aux superchamps
  • Fonctions spécifiques aux superchamps
  • Propriétés spécifiques aux superchamps
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Conception d'un superchamp
Présentation
Un superchamp est un type de champ avancé. Un superchamp regroupe un ensemble de champs dans un but précis. Le fonctionnement de ces champs sont indépendants des traitements réalisés dans la fenêtre ou dans la page les accueillant.
Pour manipuler un superchamp, il est possible de distinguer deux types d'utilisateurs :
  • Le créateur du superchamp : personne qui conçoit le superchamp et la fonctionnalité que ce superchamp doit apporter.
  • L' utilisateur du superchamp : personne qui va intégrer le superchamp dans sa fenêtre (ou sa page) et qui va le manipuler par programmation. Pour plus de détails, consultez : Intégrez un superchamp dans une fenêtre ou une page.
Création d'un superchamp sous l'éditeur
Deux méthodes sont disponibles pour créer un superchamp :
  • Création d'un superchamp vide, puis création des champs composant le superchamp.
  • Création d'un superchamp à partir de champs existants.
Remarque : Il n'est pas possible d'ajouter des superchamps personnels aux superchamps proposés par défaut par WINDEV, WEBDEV et WINDEV Mobile.

Méthode 1

  1. Sous l'éditeur de fenêtres ou de pages, sous le volet "Création", dans le groupe "Conteneurs", cliquez sur "Superchamp".
  2. Cliquez dans la fenêtre (ou la page) à la position où le champ doit être créé. Le contour du superchamp apparaît.
  3. Affichez la description du champ (option "Description" du menu contextuel).
  4. Ajoutez les différents champs composant le superchamp (bouton "Ajouter').
Attention : Les champs associés au superchamp doivent appartenir à la zone du superchamp définie sous l'éditeur. Dans le cas contraire, le champ sera grisé sous l'éditeur et non-affiché en exécution.

Méthode 2

  1. Sous l'éditeur de fenêtres ou de pages, créez les différents champs composant le superchamp.
  2. Sélectionnez les champs (touche Ctrl + clic de souris ou utilisation du lasso).
  3. Sous le volet "Modification", dans le groupe "Transformations", déroulez "Refactoring et permutations" et sélectionnez "Créer un superchamp avec la sélection".
Remarque : Les champs qui sont associés au superchamp sont ancrés par rapport au superchamp (et non par rapport à la fenêtre ou la page).

Ajouter un champ dans un superchamp

Pour ajouter un champ dans un superchamp :
  1. Créez si nécessaire le champ à ajouter au superchamp.
  2. Positionnez le champ dans la zone du superchamp. La zone du superchamp est alors encadrée d'un trait vert.
    Le champ est automatiquement ajouté au superchamp.

Superchamps et ascenseurs

Un superchamp est constitué d'une zone affichée (poignées noires) et d'une zone affichable (poignées rouges).
Pour modifier une des deux zones, déplacez les poignées en maintenant la touche Maj enfoncée.
Si la zone affichée est plus petite que la zone affichable, des ascenseurs sont automatiquement affichés.
Il est ainsi possible de créer des superchamps avec des ascenseurs permettant de faire défiler le contenu du superchamp.
Programmation d'un superchamp

Déclaration des variables globales au superchamp

Le superchamp possède un code de déclaration des globales (voir Evénements associés au superchamp). Ce code permet de déclarer toutes les variables globales au superchamp. Ces variables peuvent être de n'importe quel type. Elles pourront être utilisées dans n'importe quel événement associé au superchamp ou à un des champs composant le superchamp.

Déclaration des fonctions et procédures liées au superchamp

Pour créer une procédure locale au superchamp :
  1. Affichez la description du superchamp.
  2. Cliquez sur le bouton "Ajouter" placé sous le champ "Procédures locales". Une nouvelle procédure est créée.
  3. Cliquez sur le bouton "Code" pour éditer le code de la procédure.
Astuce : Pour créer des procédures locales liées au superchamp, il est possible de réaliser les manipulations suivantes :
  1. Sélectionnez votre fenêtre (ou page) puis le superchamp dans le volet "Explorateur de projet".
  2. Cliquez sur la flèche noire à côté du nom du superchamp dans l'explorateur de projet. Les procédures locales apparaissent.
  3. Sélectionnez "Procédures locales". Les procédures locales affichées sont celles du superchamp. Vous pouvez ajouter, renommer ou supprimer des procédures locales au superchamp.

Accès au superchamp et aux champs du superchamp

Lors de la programmation du superchamp, il est nécessaire d'accéder :
  • Au superchamp :
    Le traitement devant être indépendant du nom du superchamp, pour connaître le nom du superchamp, il est conseillé d'utiliser soit le mot-clé MonParent, soit les fonctions du type ChampContextuel, ChampEnCours, ...
  • Aux champs du superchamp :
    Il suffit d'utiliser directement la variable du champ dans le code. Depuis l'extérieur du superchamp (code d'un menu contextuel d'un champ du superchamp par exemple), il est nécessaire d'utiliser la notation suivante :
    <Nom du superchamp>.<Nom du champ>
Remarque : La fonction EnumèreChamp permet d'énumérer les champs appartenant à un superchamp.
Exemple
L'exemple suivant correspond au code d'une option d'un menu contextuel. Ce menu est associé à un champ d'un superchamp, et permet de modifier les champs "DateDébut" et "DateFin" du superchamp.
Dans ce code, le nom du superchamp en cours est obtenu avec la fonction ChampContextuel. Les différents champs du superchamp sont manipulés grâce aux opérateurs d'indirection.
// Récupère le superchamp courant
sSuperChamp est une chaîne
sSuperChamp = ExtraitChaîne(ChampContextuel(), 1, ".")
dDate est une Date     // Date du jour par défaut
// Passe au jour précédent
dDate..Jour--
// Affiche la date du jour précédent
{sSuperChamp+".DateDébut"}..Valeur = dDate
{sSuperChamp+".DateFin"}..Valeur = dDate

Valeur d'un superchamp

Un superchamp est composé de plusieurs champs et peut renvoyer une valeur. Cette valeur peut correspondre à la valeur d'un champ du superchamp ou à toute autre information. Par défaut, cette valeur est une chaîne vide. Vous pouvez la modifier par la propriété Valeur ou par affectation directe.
Exemple : Un superchamp permet de sélectionner un fichier. Il est composé d'un champ de saisie et d'un bouton ouvrant le sélecteur de fichier. La valeur du superchamp doit correspondre au nom du fichier sélectionné. Pour cela, il est nécessaire d'affecter la valeur du superchamp :
  • dans le code de modification du champ de saisie,
  • dans le code de clic du bouton de sélection.
Dans ce code, le mot-clé MonParent permet de désigner le superchamp dans le code d'un des champs le composant.
// Code de modification du champ de saisie
MonParent = MoiMême
// Code du bouton de sélection
NomFichier = fSélecteur(fExtraitChemin(NomFichier, fRépertoire), ...
fExtraitChemin(NomFichier, fFichier + fExtension), ...
"Sélectionner un fichier", ...
"Tous les fichiers (*.*)" + TAB + "*.*", "")
MonParent = NomFichier
Fonctions et propriétés spécifiques aux superchamps

Fonctions spécifiques aux superchamps

Les fonctions suivantes sont spécifiques à la gestion des caractéristiques d'un superchamp par programmation.
EnumèreChampRenvoie le nom du Nème champ du superchamp considéré.
FenTailleUtileIndique la taille utile des superchamps avec ascenseurs.
Universal Windows 10 App Cette fonction n'est pas disponible.
RAZRé-initialise les champs présents dans un superchamp.

Propriétés spécifiques aux superchamps

Les propriétés suivantes sont spécifiques à la gestion des caractéristiques d'un superchamp par programmation.
HauteurPermet de connaître et de modifier la hauteur du superchamp.
LargeurPermet de connaître et de modifier la largeur du superchamp.
NomPermet de connaître le nom du superchamp.
ValeurPermet de connaître et de modifier la valeur du superchamp.

Pour connaître la liste complète des propriétés du WLangage pouvant être utilisées avec un superchamp, consultez Propriétés associées à un superchamp.
Voir Aussi
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale