DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions de gestion des champs
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 de n'importe quel type dans une fenêtre par programmation.
Exemple
c est un Champ
c <- ChampCrée("BOUTON_1", typBouton, 30, 40, 140, 20)
c.Libellé = "Cliquez moi"
c.Traitement[trtClic] = maProcédure
ChampCrée("SAISIE_1", typDate, 30, 40, 140, 20)
chmp est un Champ
chmp <- ChampCrée("DATE", typDate, 150, 150, 80, 20)
chmp.LargeurLibellé = 40
chmp.Libellé = "Date"
// Création d'un champ Table avec ses colonnes
cTable est un Champ
cTable <- ChampCrée("cTable", typTable, 0, 0, 300, 250, Vrai)
cTable.Ancrage = ancreLargeur + ancreHauteur
col1 est un Champ <- ChampCrée("cTable.COL1", typColonne)
col1.TypeSaisie = typSaisieTexte
col2 est un Champ <- ChampCrée("cTable.COL2", typColonne)
col2.TypeSaisie = typSaisieHeure
col3 est un Champ <- ChampCrée("cTable.COL3", typColonne)
col3.TypeSaisie = typSaisieNum
TableAjouteLigne(cTable, "Col 1", "1224", "25")
Syntaxe
<Résultat> = ChampCrée(<Nom> , <Type> [, <X> [, <Y> [, <Largeur> [, <Hauteur> [, <Visible>]]]]])
<Résultat> : Variable de type Champ
Le champ créé peut être manipulé via une variable de type Champ. Dans ce cas, l'affectation doit être réalisée avec l'opérateur '<-'.
Si la fonction ChampCrée est utilisée directement, le champ est créé dans la fenêtre et est visible par défaut.
<Nom> : Chaîne de caractères
Nom à donner au nouveau champ. Ce nom permettra de manipuler le champ par programmation.
Si ce nom existe déjà, une erreur WLangage est affichée.
Si ce paramètre correspond à une chaîne vide (""), un nom unique est automatiquement créé.
Cas particuliers :
  • Création d'un champ dans un champ "Parent" : il suffit d'indiquer le nom complet du champ à créer. Par exemple : "Onglet[1].Bouton2".
  • Création d'une colonne de saisie dans un champ Table : il suffit d'indiquer le type typColonne et le nom du champ Table avant le nom de la colonne. Par exemple :
    // Colonne de type Saisie + Date
    c <- ChampCrée("TABLE1.COL3", typColonne)
    c.Largeur = 100
    c.TypeSaisie = typSaisieDate
  • Création d'une colonne simple dans un champ Table : il suffit d'indiquer le type de la colonne voulu et le nom du champ Table avant le nom de la colonne. Par exemple :
    // Colonne de type Image
    c2 est un Champ <- ChampCrée("Table1.Col3", typImage)
    c2.Largeur = 50
  • Création de volets d'onglet  : il suffit d'indiquer le type typVoletOnglet et le nom de l'onglet. Par exemple :
    ChampCrée("ONGLET1", typVoletOnglet)
  • Création d'un champ de saisie de type Jeton de texte : Il suffit de créer un champ de saisie de type texte puis d'activer la gestion des jetons. Par exemple :
    MonChamp est un Champ <- ChampCrée("test", typTexte, 10, 10, 250, 25)
    MonChamp.JetonActif = Vrai
<Type> : Constante de type Entier
Type de champ à créer :
typActiveXChamp ActiveX
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typAgendaChamp Agenda
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typAscChamp Ascenseur
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typBarreOutilsChamp Barre d'outils
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typBoîteAOutilsChamp Boîte à outils
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typBoutonChamp Bouton
typCalendrierChamp Calendrier
typCarrouselChamp Carrousel
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typCarteChamp Carte
typClicageChamp Image cliquable (champ Image d'une fenêtre ayant l'option "Cette image est une zone de cliquage" cochée).
typCodeBarresChamp Code-barres
typColonneChamp Colonne de table
typComboAVSChamp Combo avec saisie
typComboSNSChamp Combo sans saisie
typConférenceChamp Conférence
typConteneurNatifChamp Conteneur natif
typCubeChamp Cube
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typDateChamp de saisie de type date
typDuréeChamp de saisie de type durée
iPhone/iPadWidget IOSMac Catalyst Non disponible.
Nouveauté 2024
typEditeurCode
Champ Editeur de code
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typEditeurDeDiagrammesChamp Editeur de diagrammes
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typEditeurHtmlChamp Editeur HTML
Widget IOSMac Catalyst Non disponible.
typEditeurImagesChamp Editeur d'images
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typEditeurImagesMobileChamp Editeur d'images Mobile
WINDEVWidget IOSMac Catalyst Non disponible.
typFenêtreInterneChamp Fenêtre Interne
typFilChamp Fil
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typFormeChamp Forme/Dessin
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typGanttColonne de type Diagramme de Gantt
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typGrapheChamp Graphe
typHeureChamp de saisie de type heure
typHTMLChamp d'affichage HTML
typImageChamp Image
typInterrChamp Interrupteur
typInterrupteurABasculeChamp Interrupteur à bascule
typJaugeChamp Jauge
typJaugeInfinieChamp Jauge infinie
typKanbanChamp Kanban
iPhone/iPadWidget IOS
Non disponible.
typLecteurPDFChamp Lecteur PDF
typLibelléChamp Libellé
typListeChamp Liste
typListeImageChamp Liste image
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typListeKanbanChamp Liste de Kanban
iPhone/iPadWidget IOS
Non disponible.
typMonétaireChamp de saisie de type monétaire
typMultimédiaChamp Multimédia
typNotationChamp Notation
typNoteRepositionnableChamp Note repositionnable
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typNumChamp de saisie de type numérique
typOleChamp OLE
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typOngletChamp Onglet
typOrganigrammeChamp Organigramme
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typPanneauChamp Panneau dockable
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typPlanningChamp Planning
typPotentiomètreChamp Potentiomètre
typPotentiomètreRotatifChamp Potentiomètre rotatif
typRangeSliderChamp Range Slider
typRubanChamp Ruban
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typSélectChamp Sélecteur
typSéparateurChamp Séparateur
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typSpinChamp Spin
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typSuperChampSuperchamp
typTableChamp Table
typTableauCroiséDynamiqueChamp Tableau croisé dynamique
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typTableauDeBordChamp Tableau de bord
typTableHierarchiqueChamp Table hiérarchique
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typTableurChamp Tableur
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typTexteChamp de saisie de type texte
typTiroirChamp Tiroir
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typTraitementDeTexteChamp Traitement de texte
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typTreeMapChamp TreeMap
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typTreeViewChamp Arbre
typVoletOngletChamp Volet d'onglet
typWebCamChamp Web Camera
typXamlChamp Xaml
iPhone/iPadWidget IOSMac Catalyst Non disponible.
typZoneMultiligneChamp Zone multiligne
typZoneRépétéeChamp Zone répétée

Si le type est invalide, une erreur WLangage est affichée.
<X> : Entier optionnel
Abscisse du champ à créer (position sur l'axe des X) en pixels. Position horizontale du coin haut gauche du champ par rapport au coin haut gauche de la zone client de la fenêtre (c'est-à-dire la fenêtre sans les barres de titre et de menu ni le cadre). Ce paramètre correspond à la propriété XInitial.
Si ce paramètre n'est pas précisé, l'abscisse du champ est 0.
Il est ensuite possible de modifier cette valeur avec la propriété X.
<Y> : Entier optionnel
Ordonnée du champ à créer (position sur l'axe des Y) en pixels. Position verticale du coin haut gauche du champ par rapport au coin haut gauche de la zone client de la fenêtre (c'est-à-dire la fenêtre sans les barres de titre et de menu ni le cadre). Ce paramètre correspond à la propriété YInitial.
Si ce paramètre n'est pas précisé, l'ordonnée du champ est 0.
Il est ensuite possible de modifier cette valeur avec la propriété Y.
<Largeur> : Entier optionnel
Largeur du champ à créer (exprimée en pixels). Ce paramètre correspond à la propriété LargeurInitiale.
Si ce paramètre n'est pas précisé, la largeur du champ est 0.
Il est ensuite possible de modifier cette valeur avec la propriété Hauteur.
<Hauteur> : Entier optionnel
Hauteur du champ à créer (exprimée en pixels). Ce paramètre correspond à la propriété HauteurInitiale.
Si ce paramètre n'est pas précisé, la hauteur du champ est 0.
Il est ensuite possible de modifier cette valeur avec la propriété Largeur.
<Visible> : Booléen optionnel
  • Vrai (valeur par défaut) si le champ doit être visible,
  • Faux pour créer un champ invisible.
Il est ensuite possible de modifier cette valeur avec la propriété Visible.
Remarques
  • WINDEV Si plusieurs champs sont créés dans la même fenêtre en une seule opération, il est conseillé de désactiver la propriété AffichageActif avant la création des champs puis de la réactiver après : l'affichage des nouveaux champs sera optimisé et l'effet d'apparition progressive des champs sera supprimé.
  • Pour paramétrer les caractéristiques du champ créé, utilisez les propriétés associées au type de champ créé :
    • Si le champ est créé directement, il est possible d'utiliser l'opérateur d'indirection pour manipuler le champ par son nom :
      ChampCrée("BOUTON_1", typBouton, 30, 40, 140, 20) 

      {"BOUTON_1"}..Libellé = "Envoyer un email"
      {"BOUTON_1"}..Traitement[trtClic] = maProcédure
    • Si le champ créé est associé à une variable de type Champ, il suffit d'utiliser directement les propriétés du champ sur la variable :
      c est un Champ
      c <- ChampCrée("BOUTON_1", typBouton, 30, 40, 140, 20) 
      c.Libellé = "Cliquez moi"
      c.Traitement[trtClic] = maProcédure
  • Pour changer le style du champ créé :
    • WINDEV utilisez la fonction ChangeStyle. Il suffit d'affecter au champ un style présent dans la feuille de styles du projet.
    • utilisez la propriété Style. Cette propriété permet de copier le style d'un champ existant dans un autre champ.
  • Pour définir les différents traitements/événements associés au champ, utilisez la propriété Traitement.
  • Pour supprimer un champ créé avec la fonction ChampCrée, utilisez la fonction ChampSupprime.
Classification Métier / UI : Code UI
Composante : wd290obj.dll
Version minimum requise
  • Version 19
Documentation également disponible pour…
Commentaires
Peuplement de combos
Pour éviter de chercher aussi longtemps que moi ...

Soit une table "table_nok"
LOCAL
sNomcolonne est une chaîne
sNomcolonne1 est une chaîne
sNomcolonne2 est une chaîne
sNomcolonne3 est une chaîne
sNomcourt est une chaîne
sNomcourt1 est une chaîne
sNomcourt2 est une chaîne
sNomcourt3 est une chaîne
i est un numérique
champdyn est un Champ
champdyn1 est un Champ
champdyn2 est un Champ
champdyn3 est un Champ
m est un numérique
sContenuEnreg est une chaîne

i=1
sNomcolonne ="TABLE_nok.Col_texte_"+NumériqueVersChaîne(i,"02d");sNomcourt ="Col_texte_"+NumériqueVersChaîne(i,"02d")
sNomcolonne1="TABLE_nok.Col_combo_"+NumériqueVersChaîne(i,"02d");sNomcourt1="Col_combo_"+NumériqueVersChaîne(i,"02d")
sNomcolonne2="TABLE_nok.Col_numer_"+NumériqueVersChaîne(i,"02d");sNomcourt2="Col_numer_"+NumériqueVersChaîne(i,"02d")
sNomcolonne3="TABLE_nok.Col_combi_"+NumériqueVersChaîne(i,"02d");sNomcourt3="Col_combi_"+NumériqueVersChaîne(i,"02d")

champdyn <- ChampCrée(sNomcolonne, typColonne)
champdyn..Largeur = 100
//champdyn..libelle = gtabBases_juridiques[i][3]

champdyn1 <- ChampCrée(sNomcolonne1, typComboAVS)
champdyn1..Largeur = 200

champdyn2 <- ChampCrée(sNomcolonne2, typColonne)
champdyn2..Largeur = 100
champdyn2..TypeSaisie=typNum
champdyn2..MasqueSaisie="+999 999,0000"

champdyn3 <- ChampCrée(sNomcolonne3, typComboSNS)
champdyn3..Largeur = 200


m=TableAjouteLigne(TABLE_nok)
sContenuEnreg="Ligne 1 - Super"+RC+"Ligne 2 - Très bien"
{"TABLE_nok["+m+"]+."+sNomcourt1,indChamp}..Contenu=sContenuEnreg
{"TABLE_nok["+m+"]+."+sNomcourt3,indChamp}..Contenu=sContenuEnreg

m=TableAjouteLigne(TABLE_nok)
sContenuEnreg="Ligne 3 - Bien"+RC+"Ligne 4 - Médiocre"
{"TABLE_nok["+m+"]+."+sNomcourt1,indChamp}..Contenu=sContenuEnreg
{"TABLE_nok["+m+"]+."+sNomcourt3,indChamp}..Contenu=sContenuEnreg

m=TableAjouteLigne(TABLE_nok)
sContenuEnreg="Ligne 5 - Mauvais"+RC+"Ligne 6 - Nul"
{"TABLE_nok["+m+"]+."+sNomcourt1,indChamp}..Contenu=sContenuEnreg
{"TABLE_nok["+m+"]+."+sNomcourt3,indChamp}..Contenu=sContenuEnreg
xof
12 avr. 2014

Dernière modification : 02/02/2024

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