DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Développer une application ou un site / Champs, fenêtres et pages / Champs : Types disponibles / Champ Zone Répétée
  • Présentation
  • Déplacements et balayage
  • Déplacement rapide
  • Déplacement des répétitions (lignes)
  • Action lors d'un balayage
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
Dans une application mobile, de nombreuses options peuvent être manipulées à l'aide des doigts, en effectuant des mouvements spécifiques.
Pour les champs Zone répétée, WINDEV Mobile propose de nombreuses options permettant de gérer ces déplacements et gestures. Ces options peuvent être configurées dans l'onglet "Détail" de la fenêtre de description du champ Zone répétée.
Déplacements et balayage
Android

Déplacement rapide

Si l'option "Scroll rapide" est sélectionnée, le déplacement dans le champ Zone répétée s'effectue plus rapidement à l'aide d'une cage d'ascenseur spécifique présente sur le côté du champ.
Si l'option "Indexation alphabétique sur" correspond à un attribut du champ Zone répétée, une réglette alphabétique permettra à l'utilisateur de se déplacer rapidement sur les lignes dont l'attribut commence par la lettre choisie.
Attention : Si cette option est choisie, le champ Zone répétée doit être trié par ordre alphabétique sur l'attribut spécifié.
Conditions d'utilisation :
  • Le déplacement rapide est disponible uniquement sur les champs Zone répétée par programmation ou les champs Zone répétée fichier chargé en mémoire.
  • Le déplacement rapide n'est pas disponible pour les champs Zone répétée horizontale ou multicolonne.
Android

Déplacement des répétitions (lignes)

Il est possible d'autoriser le déplacement des répétitions d'un champ Zone répétée par l'utilisateur (option "Déplacer des lignes"). Dans ce cas, il est possible de choisir un déplacement :
  • via un grip à gauche,
  • via un grip à droite.
Pour effectuer un déplacement par gesture, il suffira de rester appuyé sur l'élément puis de déplacer cet élément.
Si le déplacement de lignes est autorisé, des nouveaux événements sont associés au champ Zone répétée :
Début du Glisser/Déplacer sourceCet événement est exécuté au début du Glisser/Déplacer de l'élément. Cet événement permet par exemple de réaliser différents tests. Si cet événement renvoie Faux, le déplacement n'est pas effectué.
Lâcher en Glisser/Déplacer cibleCet événement est exécuté lorsque l'utilisateur termine le Glisser/Déplacer de l'élément. Si cet événement renvoie Faux, le déplacement n'est pas effectué.

Conditions d'utilisation :
  • Le déplacement des lignes est disponible uniquement sur les champs Zone répétée par programmation ou les champs Zone répétée fichier chargé en mémoire.
  • Le déplacement des lignes n'est pas disponible pour les champs Zone répétée horizontale ou multicolonne.

Action lors d'un balayage

Sur les champs Zone répétée, il est possible d'effectuer une action lors d'un balayage horizontal d'une ligne (glisser de l'élément de la droite vers la gauche ou de la gauche vers la droite).
Il est possible d'effectuer :
  • une suppression automatique.
  • Android une action par programmation.
  • AndroidiPhone/iPad un balayage personnalisable.
Suppression automatique
Si l'option "Suppression automatique" est sélectionnée, des nouveaux événements sont associés au champ Zone répétée :
Avant suppression automatique d'une ligne par balayageCet événement est exécuté avant la suppression automatique de l'enregistrement affiché dans la ligne. Cet événement permet par exemple de réaliser différents tests. Si cet événement renvoie Faux, la suppression n'est pas effectuée.
Après suppression automatique d'une ligne par balayageCet événement est exécuté après la suppression effective de l'enregistrement. Cet événement permet par exemple de réafficher les données.
Android Balayage d'une ligne
Cet événement est exécuté AVANT l'événement "Avant suppression automatique d'une ligne". Si cet événement renvoie Faux, l'événement "Avant suppression automatique d'une ligne" n'est pas exécuté et l'enregistrement n'est pas supprimé.

Remarque : Seul l'enregistrement dans le fichier de données lié à la ligne du champ Zone répétée est supprimé. Les enregistrements liés dans les autres fichiers de données ne sont pas supprimés automatiquement.
Android Action par programmation
Si l'option "Action par programmation" est sélectionnée, un nouvel événement est associé au champ Zone répétée :
Balayage d'une ligneCet événement est exécuté lors du balayage de la ligne par l'utilisateur. Cet événement permet de programmer l'action voulue.
Remarque : Il est possible de connaître le sens du balayage grâce à la variable Gesture.

Conditions d'utilisation :
  • L'action lors d'un balayage est disponible uniquement sur les champs Zone répétée par programmation ou les champs Zone répétée fichier chargé en mémoire.
  • L'action lors d'un balayage n'est pas disponible pour les champs Zone répétée horizontale ou multicolonne.
  • L'action lors d'un balayage est disponible dans le simulateur.
AndroidiPhone/iPad Balayage personnalisable
Cette option permet d'afficher une fenêtre interne spécifique lors du balayage. Cette fenêtre interne propose les actions à réaliser après le balayage. Un exemple de fenêtre interne est fourni en standard mais il est également possible d'utiliser une fenêtre interne du projet.
Les paramètres du balayage personnalisé sont les suivants :
  • Mêmes actions pour le balayage gauche et droite / Actions différentes selon l'orientation du balayage : Ces options permettent de définir si le balayage est géré de la même façon quel que soit son sens. Il est possible d'utiliser :
    • une même fenêtre interne pour le balayage à droite et à gauche.
    • une fenêtre interne différente pour le balayage à droite et à gauche.
      Remarque : Si une orientation n'est pas associée à une fenêtre interne, le balayage ne pourra pas être effectué dans cette direction.
  • Fenêtre interne lors du balayage à gauche et à droite : Il est possible d'utiliser :
    • la fenêtre interne fournie par défaut. Si cette option est sélectionnée, l'importation de la fenêtre correspondante dans le projet est automatiquement proposée (fenêtre FI_Swipe).
    • une fenêtre interne spécifique. Dans ce cas, le code de déclaration globale de la fenêtre doit respecter le prototype suivant :
      PROCEDURE <Nom de la fenêtre>(<Champ Zone répétée>, <Indice de la ligne balayée>)

      où :
      • <Champ Zone répétée> représente le nom du champ Zone répétée sur lequel le balayage est réalisé.
      • <Indice de la ligne balayée> représente le numéro de la ligne balayée.
  • Respecter la largeur de la fenêtre interne : Permet d'indiquer si la fenêtre interne conserve sa largeur d'édition (option cochée) ou si la largeur de la fenêtre interne occupe toute la largeur du champ Zone répétée (option par défaut).
  • Exécuter le traitement de balayage :
    • Immédiatement : L'événement "Balayage d'une ligne" du champ Zone répétée est exécuté lors de l'affichage de la fenêtre interne (lorsque la fenêtre interne a recouvert la ligne du champ Zone répétée).
    • Au prochain défilement de la zone répétée : L'événement "Balayage d'une ligne" du champ Zone répétée est exécuté lors de la prochaine action sur le champ Zone répétée. Cette option est recommandée si la fenêtre interne contient des boutons permettant d'effectuer des traitements spécifiques. Ainsi, l'événement "Balayage d'une ligne" sera exécuté uniquement lorsque l'utilisateur manipulera le champ Zone répétée (la fenêtre interne sera donc fermée).
Si l'option "Balayage personnalisable" est sélectionnée, un nouvel événement est associé au champ Zone répétée :
Balayage d'une ligneCet événement est exécuté lors du balayage de la ligne par l'utilisateur. Les conditions d'exécution de cet événement dépendent de l'option "Exécuter le traitement de balayage" dans le paramétrage du balayage personnalisable.

Remarques :
  • Il est possible de fermer la fenêtre interne de balayage par la fonction ZoneRépétéeAnnuleBalayage. Le bouton Annuler présent dans la fenêtre interne fournie en standard utilise cette fonction.
  • Le chargement de la fenêtre interne (exécution des codes de déclaration et d'initialisation) est réalisé dès le début du balayage.
  • La fenêtre interne est déchargée (exécution du code de fermeture) lors de la disparition de la fenêtre interne.
  • iPhone/iPad La propriété BalayageActif permet de désactiver momentanément le balayage sur une ligne du champ Zone répétée.
Liste des exemples associés :
WM ToDo List Exemples multiplateforme (WINDEV Mobile) : WM ToDo List
[ + ] Cet exemple est un gestionnaire de listes des choses à faire, ou plus communément appelé un gestionnaire de To-Do Lists.
Le projet utilise les gestures dans les zones répétées afin de déplacer et supprimer les listes et les tâches.
Les données sont, quant à elles, stockées dans une base HFSQL.
Version minimum requise
  • Version 18
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