|
|
|
|
|
- Présentation
- Paramétrage du champ Table ou Zone répétée
- Mise en place
- Evénements ajoutés
- Limitations
- Personnalisation de la fenêtre ou page de patience
- Evénements "Ajout d'éléments supplémentaires"
- Remplissage par le haut et/ou par le bas
- Programmation
Table et Zone répétée infinie
Un champ Table et/ou Zone répétée par programmation peut être rempli selon deux méthodes : - Remplissage du champ dans sa totalité : Toutes les données présentes dans le champ sont chargées à l'initialisation du champ.
Avantage : Toutes les valeurs sont présentes dans le champ. Il est possible de faire des recherches ou des tris sur les éléments contenus dans le champ. Inconvénient : L'occupation mémoire du champ et de ses données peut être important. Dans le cas des applications mobiles, le chargement complet peut consommer inutilement de la bande passante et ralentir l'affichage. - Remplissage si nécessaire (Table et Zone répétée infinie) : Seules les données visibles par l'utilisateur sont chargées en mémoire. Les données supplémentaires sont chargées à la demande (par exemple en cas d'utilisation de l'ascenseur).
Avantage : Occupation mémoire faible. Dans le cas des applications mobiles, accélération de la vitesse d'affichage et limitation de la consommation de bande passante. Inconvénient : Pas de tris ni de recherches tant que toutes les données ne sont pas disponibles.
Paramétrage du champ Table ou Zone répétée Mise en place Pour activer le mécanisme du remplissage si nécessaire (Table infinie/Zone répétée infinie) : - Affichez la fenêtre de description du champ.
- Dans l'onglet "Contenu", dans la zone "Table infinie"/"Zone répétée infinie" :
- Choisissez le mode de remplissage de la table infinie :
- "Remplissage par le bas" : Les données seront ajoutées automatiquement en dessous des données existantes.
Nouveauté SaaS "Remplissage par le haut" : Les données seront ajoutées automatiquement en haut du champ, au dessus des données existantes. - "Appeler le traitement d'ajout d'éléments supplémentaires à la fin du défilement" : le remplissage est effectué par le bas. Les données seront ajoutées automatiquement en dessous des données existantes.
- Sélectionnez la fenêtre interne de patience (ou la page interne de patience) affichée lors du chargement des lignes supplémentaires. Il est possible de :
- Utiliser la fenêtre/page interne de patience par défaut,
- Utiliser la fenêtre/page pré-définie. Si cette option est sélectionnée, le composant interne WDFAA est immédiatement ajouté dans le projet en cours. Selon la plateforme, l'élément correspondant (fenêtre ou page) est automatiquement associé à l'option "Fenêtre interne de patience" ou "Page interne de patience".
- En WINDEV, la fenêtre interne s'appelle "FI_AjoutElementSuppl_WD".
- En WINDEV Mobile, la fenêtre interne s'appelle "FI_AjoutElementSuppl_WM".
- En WEBDEV, la page interne s'appelle "PI_AjoutElemSuppl".
Remarque : Si le composant WDFAA existe déjà , seule la fenêtre interne (ou la page interne) est ajoutée au composant. - Utiliser une fenêtre/page interne de votre projet.
- Indiquez le nombre de lignes maximum : Ce nombre correspond au nombre maximum de lignes pouvant être ajoutées au champ. Lorsque ce nombre sera atteint, l'événement "Ajout d'éléments supplémentaires" ne sera plus appelé.
- Validez la fenêtre de description du champ.
Evénements ajoutés Le paramétrage du champ Table ou Zone répétée infinie a ajouté : Limitations Il n'est pas possible de définir un remplissage infini pour : - les champs Zone répétée horizontale, Zone répétée fichier et Zone répétée multicolonne.
- les champs Table fichier.
Personnalisation de la fenêtre ou page de patience La jauge affichée pendant le chargement est contenue dans une fenêtre interne ou une page interne. Evénements "Ajout d'éléments supplémentaires" L'événement "Ajout d'éléments supplémentaires" doit contenir le code de mise à jour des données dans le champ. Par défaut, la fenêtre interne de patience est affichée pendant l'exécution de ce code. A la fin de l'exécution de ce code, la fenêtre interne de patience sera automatiquement masquée. Remarque : Cet événement est appelé automatiquement : - lors de l'initialisation de la fenêtre, si le champ est vide.
- après l'initialisation de la fenêtre, si toutes les lignes du champ sont visibles
- après l'agrandissement du champ, si toutes les lignes du champ sont visibles (alors qu'elles ne l'étaient pas avant l'agrandissement).
- après un défilement vers le bas, si la dernière ligne du champ est visible.
Attention : Si la fenêtre interne par défaut est sélectionnée, une jauge (fenêtre de patience) est affichée pendant l'exécution de l'événement "Ajout d'éléments supplémentaires". Cette jauge sera affichée uniquement si le thread principal peut s'exécuter pendant l'exécution de l'événement "Ajout d'éléments supplémentaires". Pour voir la jauge, il est nécessaire d'effectuer un traitement long de rafraîchissement (par exemple, requête HTTP ou parcours HFSQL) dans un thread exécuté depuis l'événement "Ajout d'éléments supplémentaires". Dans ce cas, il est nécessaire de gérer la jauge via les fonctions TableAjoutEnCours et ZoneRépétéeAjoutEnCours. Exemple de code pour l'événement "Ajout d'éléments supplémentaires" : Compléter un champ Table avec les derniers emails non lus :
IdSession est un entier EmailLu est un Email  // Charge les derniers messages non lus EmailLitPremier(IdSession, EmailLu, emailNonLus) TANTQUE PAS Email.EnDehors // Traitement du message TableAjouteLigne(TABLE_Email, EmailLu.Expediteur, EmailLu.DateRéception, EmailLu.MessageID) EmailLitSuivant(IdSession, EmailLu, emailNonLus) FIN Remarque : Si l'événement "Ajout d'éléments supplémentaires" renvoie Faux : - la fenêtre interne de patience n'est plus affichée,
- l'événement "Ajout d'éléments supplémentaires" n'est plus exécuté.
Nouveauté SaaS
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|