|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
ZoneRépétée et modification d'un enregistrement Zone Répétée |
Débuté par Vincent Lecomte, 22 avr. 2016 09:32 - 4 réponses |
| |
| | | |
|
| |
Membre enregistré 240 messages Popularité : +3 (3 votes) |
|
Posté le 22 avril 2016 - 09:32 |
J'ai sur une page AWP une Zone Répétée avec des interrupteurs. Dans le code serveur "Modification de ma case à cocher", j'y fais une modification d'un fichier. En mode normal => ça marche 3-4 fois puis je reçois l'erreur 75 "ERR_POSITIONNEMENT_TABLE_AJAX_AWP") Si je coche "Code AJAX" pour le code de modification du bouton, j'ai tout de suite cette erreur. L'enregistrement du fichier est bien modifié.
Qu'est-ce que je loupe ? Merci bien
-- Vincent |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 240 messages Popularité : +3 (3 votes) |
|
Posté le 22 avril 2016 - 09:46 |
Ca va même plus loin que ça... Sans code , ça produit l'erreur aussi !! Mon but étant de modifier les droits d'accès de l'utilisateur sans avoir à rafraichir la page.
Note : j'ai essayé un ZoneRépétéeAffiche() dans le code Serveur de modification de mon interrupteur. La zone est rafraichie et je n'ai plus l'erreur. Cependant mon but est d'éviter ce rafraichissement de Zone. Je pense qu'en fait si je ne fais pas ça la zone est inconnue après la modification (puisque page AWP) du coup cela produit l'erreur.
Edit 2 : je suis en train d'essayer de passer en code navigateur et d'exécuter de l'Ajax serveur... Ce n'est pas tout à fait concluant pour l'instant. Si quelqu'un a une astuce en attendant...
Edit 3 : j'avance doucement. Ma modification se fait bien et je n'ai plus d'erreur, mais après exécution du RepriseSaisie() dans "onClick", la case se coche à nouveau.
-- VincentMessage modifié, 22 avril 2016 - 10:13 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 240 messages Popularité : +3 (3 votes) |
|
Posté le 22 avril 2016 - 11:52 |
J'ai réglé le problème de l'erreur avec le code serveur uniquement , en utilisant une ZoneRépétée qui se charge par programmation.
Code d'init. de ma ZR Ajax.
ZoneRépétéeSupprimeTout(MoiMême)
iOccur est un entier iPgPrm est un entier = Val(PageParamètre("userid")) SI iPgPrm > 0 ALORS REQ_S_Droits_Administrateurs._pID = iPgPrm HExécuteRequête(REQ_S_Droits_Administrateurs) POUR TOUT REQ_S_Droits_Administrateurs ZoneRépétéeAjoute(MoiMême) iOccur = ZoneRépétéeOccurrence(MoiMême) MoiMême[iOccur].ATT_ModuleCode =REQ_S_Droits_Administrateurs.ModuleCode MoiMême[iOccur].ATT_IDWA = REQ_S_Droits_Administrateurs.IDWebAdmins MoiMême[iOccur].ATT_AddRight = REQ_S_Droits_Administrateurs.AddRight MoiMême[iOccur].ATT_DeleteRight = REQ_S_Droits_Administrateurs.DeleteRight MoiMême[iOccur].ATT_UpdateRight = REQ_S_Droits_Administrateurs.UpdateRight MoiMême[iOccur].ATT_ViewRight = REQ_S_Droits_Administrateurs.ViewRight FIN SINON MaSource._pID = "" FIN
Code serveur de l'interrupteur présent dans ma ZR.
SI PAS lproc_updateField(ZR_REQ_S_Droits_Administrateurs[ZR_REQ_S_Droits_Administrateurs].LIBF_IDWA, ZR_REQ_S_Droits_Administrateurs[ZR_REQ_S_Droits_Administrateurs].LIBF_ModuleCode, ZR_REQ_S_Droits_Administrateurs[ZR_REQ_S_Droits_Administrateurs].INT_ViewRight) ALORS LIB_Error..Valeur = "Erreur : impossible de modifier cet enregistrement" FIN
Mais le code Ajax qui s'exécute avec onClick() me pose toujours problème - La case se remet dans son état initial après exécution.
SI AJAXDisponible() ALORS
SI AJAXExecute(ajaxActualiseChamps,lproc_updateField, ZR_REQ_S_Droits_Administrateurs.ATT_IDWA,ZR_REQ_S_Droits_Administrateurs.ATT_ModuleCode, ZR_REQ_S_Droits_Administrateurs.ATT_ViewRight) = "0" ALORS LIB_Error = "Impossible de modifier cet enregistrement" FIN RepriseSaisie(ATT_ViewRight) FIN
Dans "onChange" ce code n'est jamais exécuté.
Une suggestion à faire ?
-- VincentMessage modifié, 22 avril 2016 - 11:52 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 240 messages Popularité : +3 (3 votes) |
|
Posté le 22 avril 2016 - 12:08 |
Bon ben... J'ai résolu tous mes problèmes... Comme quoi en cherchant
Dans onClick, remplacé par :
SI AJAXDisponible() ALORS
SI AJAXExecute(ajaxActualiseChamps,lproc_updateField, ZR_REQ_S_Droits_Administrateurs.ATT_IDWA,ZR_REQ_S_Droits_Administrateurs.ATT_ModuleCode, ZR_REQ_S_Droits_Administrateurs.ATT_ViewRight) = "0" ALORS LIB_Error = "Impossible de modifier cet enregistrement" SINON LIB_Error = "" FIN RETOUR FIN
La case à cochée n'est pas modifiée et mon code serveur n'est pas appelé si Ajax est actif. Si AJAX désactivé mon code serveur sera tout de même appelé et rafraichira ma page. Ma ZR est "par programmation", je n'ai plus d'erreur de positionnement...
J'espère avoir bien fait, si quelqu'un peut me valider cela quand même
-- VincentMessage modifié, 22 avril 2016 - 12:18 |
| |
| |
| | | |
|
| | |
| |
Posté le 09 juin 2023 - 15:46 |
Vincent Lecomte a écrit :
Bon ben... J'ai résolu tous mes problèmes... Comme quoi en cherchant Dans onClick, remplacé par : SI AJAXDisponible() ALORS
SI AJAXExecute(ajaxActualiseChamps,lproc_updateField, ZR_REQ_S_Droits_Administrateurs.ATT_IDWA,ZR_REQ_S_Droits_Administrateurs.ATT_ModuleCode, ZR_REQ_S_Droits_Administrateurs.ATT_ViewRight) = "0" ALORS LIB_Error = "Impossible de modifier cet enregistrement" SINON LIB_Error = "" FIN RETOUR FIN
La case à cochée n'est pas modifiée et mon code serveur n'est pas appelé si Ajax est actif. Si AJAX désactivé mon code serveur sera tout de même appelé et rafraichira ma page. Ma ZR est "par programmation", je n'ai plus d'erreur de positionnement... J'espère avoir bien fait, si quelqu'un peut me valider cela quand même -- Vincent
Hello Vincent, Je déterre ton poste, est-ce que ta solution est encore viable ? J'ai un problème avec une ZoneRépétée en WebDev Serveur + Ajax, un interrupteur présent dedans, lors d'un clic dans le INT, il se remet à l'état initiale et refresh toutes ma page, une solutoin ?
Benjamin |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|