DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions de gestion des champs
  • Caractéristiques du champ créé
  • Evénements exécutés
  • Conseil
  • Clonage d'une colonne dans un champ Table
  • Clonage d'un menu
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
Crée un nouveau champ. Ce nouveau champ est une copie d'un champ existant (y compris pour les colonnes d'un champ Table).
Cette fonction peut être utilisée pour créer un nouveau champ dans une fenêtre, dans une page ou dans un état.
Le nouveau champ est créé obligatoirement dans la même fenêtre (la même page ou le même état) que le champ source.
// Crée un nouveau champ Libellé dans un état (WINDEV, WEBDEV ou WINDEV Mobile)
ChampClone(LIB_Libellé, "Clone", 10.8, 10.8)
xChamp est un Champ
xChamp <- ChampClone(COL_Modèle, "COL_Clone" + i)
xChamp.Largeur = COL_Modèle.Largeur
xChamp.Libellé = "Matière " + i
Syntaxe

Créer un clone de champ dans une fenêtre ou une page Masquer les détails

<Résultat> = ChampClone(<Nom du champ source> , <Nom du champ destination> [, <X> , <Y>])
<Résultat> : Variable de type Champ
<Nom du champ source> : Chaîne de caractères
Nom du champ (ou de la colonne) à copier.
Si ce paramètre correspond au nom d'une colonne du champ Table :
  • les paramètres <X> et <Y> sont ignorés.
  • la nouvelle colonne est insérée à droite des autres colonnes du champ Table.
  • le contenu du champ Table est automatiquement vidé.
Dans ce cas, si plusieurs champs Table possèdent des colonnes de même nom, le nom de la colonne doit être préfixé du nom du champ Table : <Nom de la table>.<Nom de la colonne>.
<Nom du champ destination> : Chaîne de caractères
Nom du champ (ou de la colonne) dynamique à créer.
Ce nom doit respecter les règles de nommage d'un nouveau champ utilisées par l'éditeur. Par exemple, il ne doit pas contenir de point, d'espace ou d'apostrophe.
Si ce paramètre correspond au nom d'une colonne du champ Table, le nom de la colonne ne doit pas être préfixé du nom du champ Table.
Il est possible de changer la parenté lors du clonage d'un champ. Ainsi, un champ peut être cloné sur un onglet et associé à cet onglet. Il suffit de préfixer le nom du champ à créer par le nom du champ Onglet (voir exemple). Le fonctionnement est identique pour les champs Tiroir et Boîte à outils.
<X> : Entier optionnel
Abscisse du champ à créer (en pixels).
Si ce paramètre n'est pas spécifié, le champ est créé à la position d'origine du champ source (position initiale connue grâce aux propriétés XInitial et YInitial).
<Y> : Entier optionnel
Ordonnée du champ à créer (en pixels).
Si ce paramètre n'est pas spécifié, le champ est créé à la position d'origine du champ source (position initiale connue grâce aux propriétés XInitial et YInitial).
Universal Windows 10 AppiPhone/iPad

Créer un clone de champ dans un état Masquer les détails

<Résultat> = ChampClone(<Nom du champ source de l'état> , <Nom du champ destination> [, <X> , <Y>])
<Résultat> : Variable de type Champ
<Nom du champ source de l'état> : Chaîne de caractères
Nom du champ à copier.
<Nom du champ destination> : Chaîne de caractères
Nom du champ dynamique à créer.
<X> : Réel optionnel
Abscisse du champ à créer (en millimètres).
Si ce paramètre n'est pas spécifié, le champ est créé à la position d'origine du champ source (position initiale connue grâce aux propriétés XInitial et YInitial).
<Y> : Réel optionnel
Ordonnée du champ à créer (en millimètres).
Si ce paramètre n'est pas spécifié, le champ est créé à la position d'origine du champ source (position initiale connue grâce aux propriétés XInitial et YInitial).
Remarques

Caractéristiques du champ créé

Le champ créé partage tous les paramètres initiaux du champ source, en particulier :
  • son type (champ de saisie, champ Bouton, champ Table, ...),
  • sa valeur initiale,
  • son (ou ses) groupe(s),
  • son menu contextuel (champ d'une fenêtre),
  • son code (les mêmes traitements sont exécutés),
  • ses liens HFSQL,
  • le raccourci clavier (champ d'une fenêtre),
  • la hauteur et la largeur du champ.
Par contre, le champ créé ne partage pas avec le champ source :
  • les paramètres modifiés après sa création (valeur, couleur, ...),
  • le nom,
  • l'altitude (champ d'une fenêtre ou d'un état),
  • l'ordre de navigation par la touche TAB (champ d'une fenêtre).

Evénements exécutés

L'événement "Initialisation" associé au champ est exécuté.
Le champ n'étant pas connu à la compilation du projet, il est possible de le manipuler grâce aux opérateurs d'indirection.

Conseil

Il est conseillé d'utiliser cette fonction dans l'événement "Déclarations globales" de la fenêtre ou de la page ou dans l'événement "Ouverture" associé à l'état. Cette fonction ne doit pas être utilisée dans l'événement "Initialisation" du champ.
iPhone/iPad

Clonage d'une colonne dans un champ Table

Dans une fenêtre, lors de l'utilisation de la fonction ChampClone sur une colonne du champ Table, le champ Table manipulé est entièrement vidé lors de la création de la nouvelle colonne.
Android

Clonage d'un menu

Il est possible de cloner un menu grâce à la fonction MenuClone.
Liste des exemples associés :
La fonction ChampClone Exemples unitaires (WINDEV) : La fonction ChampClone
[ + ] Utilisation des fonctions ChampClone et ChampSupprime.
Composante : wd300vm.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
WD Mobile avec plateforme "Android" (V24)
Pour une compatibilité WD mobile "Android", il faut codé :

xChamp est un Champ
ChampClone(COL_Modèle, "COL_Clone" + i)
xChamp <- {"COL_Clone" + i,indChamp}

au lieu de

xChamp est un Champ
xChamp <- ChampClone(COL_Modèle, "COL_Clone" + i)

En effet, la récupération d'une référence au nouveau champ par la syntaxe <- de la fonction ChampClone() génère une erreur de Type (JAVA)...
Patrick MOIRE
18 sep. 2019

Dernière modification : 25/05/2022

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