FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WEBDEV 2024
→
Rafraîchir les données d'une ZR AJAX sans recharger la page
Rafraîchir les données d'une ZR AJAX sans recharger la page
Débuté par Sosthène, 15 sep. 2021 18:57 - 5 réponses
Connectez-vous…
Sosthène
#1
Membre enregistré
5 messages
Posté le 15 septembre 2021 - 18:57
Bonjour à tous,
En effet j'ai une ZR qui liste les tâche d'un personnel : les tâches qu'il a lui-même créée comme les tâches qu'un autre utilisateur lui a créées.
La ZR est liée à une requête et en accès direct.
L'OBJECTIF est de :
Maintenir la liste des tâches du personnel à jour de sorte que quand il crée une tâche, la tâche apparaisse dans la liste sans recharger la page. Ou quand son supérieur lui crée une tâche ou valide ses tâches depuis son compte, que la tâche apparaisse ou soit mise à jour dans la liste des tâches du personnel sans recharger la page.
LE PROBLÈME est que :
J'ai créé un Timer dans le code de chargement de la page (onload)
et quand s'exécute la procédure chargée de vérifier les données (procédure lancée par le Timer chaque 2s) et qu'il y a de nouvelles tâches, j'exécute le code d'Initialisation de la ZR pour actualiser les données; et là, la ZR disparaît puis réapparaît (la page ne se recharge pas mais la ZR disparaît puis réapparaît) et affiche les nouvelles données.
Je me suis penché vers la fonction AJAXExécuteAsynchrone mais je n'ai pas eu le résultat, je crois que je ne sais pas bien utiliser la fonction.
Cet effet de disparition et réapparition est très gênant.
J'ai vraiment besoin de votre aide
Signaler
0
0
Sosthène
#2
Membre enregistré
5 messages
Posté le 15 septembre 2021 - 18:59
Pour faire plus simple, on peut comparer à une application de messagerie
Signaler
0
0
Multipass
#3
Membre enregistré
125 messages
Popularité : +5 (5 votes)
Posté le 16 septembre 2021 - 07:35
Bonjour Sosthène,
J'utilise effectivement AJAXExécuteAsynchrone() pour les ZR de type menu, et notifications.
Comme toi, ma méthode repose sur un timer ex. : Timer(lnAfficheNotif,20s).
La procédure navigateur lnAfficheNotif() contient l'appel AJAX, typiquement :
AJAXExécuteAsynchrone
(
ajaxAppelSimple
,
lsMiseAjourDétection_Notif
,
lnMiseAjourDétectée_Notif
)
La procédure serveur lsMiseAjourDétection_Notif() contrôle si les données ont changé.
La procédure navigateur lnMiseAjourDétectée_Notif() déclenche la mise à jour via un ExécuteTraitement(BTN_ZR_Init,trtClic).
Le bouton BTN_ZR_Init qui est en ajax, exécute la procédure serveur de chargement de ma ZR.
J'ai des projets en WB23 et WB26. Pas d'effet gênant.
Bon dév !
Alain
Signaler
0
0
Sosthène
#4
Membre enregistré
5 messages
Posté le 16 septembre 2021 - 11:20
Bonjour Multipass,
Stp quel est le mode de remplissage de ta ZR ?
Et je peux avoir une idée du traitement que tu fais dans la procédure serveur de chargement de ta ZR :
Tu fais une boucle sur la source de données pour remplir la ZR ou tu fais des <ZR>.ModifieLigne ou autre ?
Merci de consacrer du temps à ce sujet.
Signaler
0
0
Multipass
#5
Membre enregistré
125 messages
Popularité : +5 (5 votes)
Posté le 17 septembre 2021 - 02:24
Bonjour Sosthène,
J'ai testé et utilisé plusieurs méthodes de chargement, dont :
- Ex. ZR Notifications : Remplissage par variable (onglet contenu) à partir d'un tableau de structure. Du coup la procédure de chargement charge et MAJ la ZR via un simple ZoneRépétéeAffiche().
- Ex. ZR Menu : Remplissage par programmation avec un ZoneRépétéeSupprimeTout() puis des ZoneRépétéeAjouteLigne().
A noter que dans les 2 cas, le mode de fonctionnement de la ZR est "classique" et "sans limite".
A+
Signaler
0
0
Sosthène
#6
Membre enregistré
5 messages
Posté le 17 septembre 2021 - 20:21
D'accord. Je vais peut être me pencher sur l'utilisation de structure pour faire comme toi.
Merci
Signaler
0
0
→ Revenir à WEBDEV 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Hors-sujet
Outils
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte