DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions de gestion de la saisie assistée
  • Présentation
  • Principe
  • Saisie assistée "en mémoire"
  • Comment le faire ?
  • Exemples
  • Remarques
  • Saisie assistée "Fichier"
  • Comment le faire ?
  • Saisie assistée "programmée"
  • Comment le faire ?
  • Exemple
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
Présentation
Le principe de la saisie assistée dans un champ de saisie est très simple : quand l'utilisateur commence à saisir dans un champ de saisie, une liste se déroule automatiquement sous le champ pour proposer les valeurs commençant par le texte de la saisie en cours.
La saisie assistée peut être mise en place automatiquement depuis l'éditeur ou personnalisée par programmation.
Principe
WINDEV, WINDEV Mobile et WEBDEV proposent plusieurs types de saisie assistée :
  • Saisie assistée "en mémoire" : Le champ de saisie n'est pas lié à une rubrique d'un fichier de données. La saisie automatique se fait à partir d'une liste de données fournie par programmation (fonction SaisieAssistéeAjoute). L'affichage des données dans la liste est effectué selon la saisie.
  • Saisie assistée "fichier" : Le champ de saisie est lié à une rubrique d'un fichier de données ou d'une requête. L'affichage des données dans la liste est effectué selon la saisie.
  • Saisie assistée programmée : La saisie assistée est effectuée à partir d'une liste de données personnalisée. L'affichage des données dans la liste selon la saisie est personnalisée.
AndroidiPhone/iPad Attention : Dans cette version, la saisie assistée n'est pas disponible en mode simulateur.
Saisie assistée "en mémoire"

Comment le faire ?

Pour mettre en place la saisie assistée "en mémoire" :
  1. Utilisez la fonction SaisieAssistéeAjoute pour ajouter les éléments pris en compte par la saisie assistée.
    Il est possible d'ajouter :
    • une valeur simple, affichée dans la liste des propositions de la saisie assistée,
    • une valeur affichée et une valeur mémorisée.
    • une variable de type SaisieAssistée.
  2. Si nécessaire, utilisez la fonction SaisieAssistéeParamètre pour paramétrer les caractéristiques de la saisie assistée : filtre, ouverture de la liste des propositions, nombre de caractères à saisir avant d'ouvrir la liste des propositions, etc.
Remarque : La valeur mémorisée permet d'associer une valeur spécifique à une ligne de la saisie assistée. Cette valeur peut être utilisée par exemple pour réaliser un traitement spécifique selon le type de valeur sélectionnée.

Exemples

  • WINDEVAndroidiPhone/iPad Exemple pour une fenêtre :
    // Code de fin d'initialisation de la fenêtre
    SaisieAssistéeParamètre(SAI_Rechercher, saTailleMin, 3)
    SaisieAssistéeParamètre(SAI_Rechercher, saFiltre, filtreContient)

    POUR TOUTE CHAÃŽNE sTitre DE gsTitresPhotos SÉPARÉE PAR RC
    SaisieAssistéeAjoute(SAI_Rechercher, sTitre)
    FIN
  • WEBDEV - Code ServeurWEBDEV - Code NavigateurPHPAjax Exemple pour une page :
    // Code de chargement de la page
    SaisieAssistéeParamètre(SAI_Rechercher, saTailleMin, 3)
    SaisieAssistéeParamètre(SAI_Rechercher, saFiltre, filtreContient)

    POUR TOUTE CHAÃŽNE sTitre DE gsTitresPhotos SÉPARÉE PAR RC
    SaisieAssistéeAjoute(SAI_Rechercher, sTitre)
    FIN

Remarques

  • L'événement optionnel "Sélection d'une valeur dans la liste de saisie assistée" est exécuté lors de la sélection d'un élément. Cet événement prend en paramètre une variable de type SaisieAssistée. Cette variable permet de connaître la valeur sélectionnée et la valeur mémorisée associée si elle existe.
  • Par défaut, la valeur affichée dans le champ de saisie lors de la sélection dans la saisie assistée, correspond à la valeur sélectionnée. Pour modifier la valeur du champ de saisie, utilisez l'événement "Sélection d'une valeur dans la liste de saisie assistée". Il est par exemple possible d'afficher la valeur mémorisée dans le champ de saisie.
Pour plus de détails, consultez Evénements associés aux champs de saisie.
Saisie assistée "Fichier"

Comment le faire ?

Pour mettre en place la saisie assistée "Fichier" :
  1. Dans la fenêtre de description du champ de saisie :
    • Vérifiez que le champ de saisie est lié à une rubrique d'un fichier de données ou d'une requête (onglet "Liaison").
      Attention : La rubrique doit être une clé.
    • Dans l'onglet "Détail", cochez l'option "Saisie assistée sur liaison fichier".
  2. Validez la fenêtre de description du champ de saisie.
En exécution, dès la première lettre saisie dans le champ :
  • WEBDEV - Code Serveur une liste s'affiche avec les différentes données correspondant à la lettre saisie.
  • WINDEV la première donnée correspondant à la lettre saisie s'affiche. Au fur et à mesure de la saisie, la donnée correspondant aux lettres saisies s'affiche.
Remarques :
  • Si le champ de saisie est lié à une rubrique d'une requête, la requête est automatiquement exécutée. Cependant, si cette requête attend des paramètres, il est nécessaire de les renseigner puis d'exécuter la requête avec la fonction HExécuteRequête (par exemple dans l'événement "Déclarations globales" ou l'événement "Fin d'initialisation" de la fenêtre).
  • Le filtre d'affichage de la saisie assistée est de type "Commence par". Pour utiliser un autre filtre, il est nécessaire d'utiliser la saisie assistée programmée.
Saisie assistée "programmée"

Comment le faire ?

La saisie assistée programmée permet de manipuler une source de données personnalisée.
Pour utiliser la saisie assistée programmée :
  1. Désactivez le filtre par défaut grâce à la fonction SaisieAssistéeParamètre (en utilisant la constante filtreAucun). La liste de la saisie assistée pourra ainsi s'ouvrir et afficher tous les éléments spécifiés.
  2. Dans l'événement "A chaque modification" du champ de saisie :

Exemple

// Recherche de type "contient" dans le nom
// et le code d'un tableau d'actions boursières

POUR TOUT sNom, sCode de gTabAction
SI Contient(sCode, SAI_Mode_programmé) _OU_ ...
Contient(sNom, SAI_Mode_programmé) ALORS
SaisieAssistéeAjoute(FEN_EnMémoire.SAI_Mode_programmé, sNom)
FIN
FIN
Liste des exemples associés :
Galerie_Photos Exemples complets (WEBDEV) : Galerie_Photos
[ + ] Cet exemple est un site de galerie photos et se compose de 2 parties principales :
- la partie "visiteur", réalisée en mode AWP et référençable.
- la partie administration réalisée en mode WEBDEV classique et sécurisée.  
 
Parmi les fonctionnalités proposées, vous y trouverez :
- une organisation par albums de vos photos
- un lien vers les réseaux sociaux
- la possibilité pour les visiteurs de commenter vos publications
- la connexion des utilisateurs est gérée via le GPU de WEBDEV
- un formulaire de contact
- au niveau de l’administration du site, vous pourrez bien évidemment uploader vos photos, les classer par album et aussi les décrire
Les fonctions SaisieAssistée Exemples unitaires (WINDEV) : Les fonctions SaisieAssistée
[ + ] Utilisation des fonctions WLangage SaisieAssistée.
Ces fonctions permettent de mettre en place facilement une saisie assistée sur les champs.
Version minimum requise
  • Version 17
Documentation également disponible pour…
Commentaires
Problème événement de sélection
Le seul soucis de la saisie assistée c'est que l'événement de sélection de la valeur arrive après celui de la modification, ça devrait être l'inverse.
Philippe SB
03 juil. 2019

Dernière modification : 20/02/2024

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