PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Détecter une demande de changement de volet d'un onglet
Détecter une demande de changement de volet d'un onglet
Iniciado por guest, jul., 01 2005 10:46 AM - 7 respostas
Publicado em julho, 01 2005 - 10:46 AM
Bonjour,

je voudrais savoir s'il est possible de détecter une demande de changement de volet avant son affichage.
Si un utilisateur essaie de changer de volet je voudrais pouvoir contrôler les champs présents sur le volet courant avant d'afficher le suivant (si les contrôles sont corrects).
Actuellement si je mets mon code dans "A chaque modification de onglet" le volet demandé est affiché avant que je puisse faire les contrôles.

Si quelqu'un avait une solution ce serait sympa.

Cordialement,
Chris
Publicado em julho, 01 2005 - 12:07 PM
Tu pourrais eut etre retarder le changement en memorisant le volet demandé tout en demandant le nom changement de volet jusqu'a ce que les controles soit fini.
Apres grace au volet memorisé tu demande par programmation d'ouvrir le volet qui avait été demandé avec : <nom du champ boite>= <le numero du volet memorisé>
Publicado em julho, 01 2005 - 1:10 PM
c'est là que se pose le problème.
je ne trouve pas ou placer le code pour les contrôles avant que le volet sur lequel je viens de cliquer ne s'affiche.
je n'ai trouvé aucun évènement sur l'onglet qui serait déclenché avant l'affichage effectif du volet demandé. :(
Publicado em julho, 01 2005 - 1:14 PM
Bonjour,
Peut être comme cela ?

Dans le code de l'onglet : A chaque modification de l'onglet
onglet--
// Tes contrôles
onglet++



Sébastien



"chrisf" <guest@newsgroup.fr> a écrit dans le message de
news:42c4dc18$1@news.pcsoft.fr...


Bonjour,

je voudrais savoir s'il est possible de détecter une demande de changement

de volet avant son affichage.
> Si un utilisateur essaie de changer de volet je voudrais pouvoir contrôler
les champs présents sur le volet courant avant d'afficher le suivant (si les
contrôles sont corrects).
Actuellement si je mets mon code dans "A chaque modification de onglet" le

volet demandé est affiché avant que je puisse faire les contrôles.

Si quelqu'un avait une solution ce serait sympa.

Cordialement,
Chris
Publicado em julho, 01 2005 - 1:27 PM
bonjour,

Tu ne mets rien dans tes onglets ( une barre vide taille minimun) juste
l'affichage de tes volet.
tu crée autant de plans que d'onglet, tu effectue l'affichage de tes
données sur les plans en question.
lors d'un clic sur l'onglet, tu fais ce que tu veux, controle,
affichage etc.. même un plan spécial pour signaler, le cas echéant un
PB. Attention toute fois à ne pas induire un retard à l'affichage du à
un controle qui serait trop long.

jean-daniel


chrisf avait écrit le 01/07/2005 :

Bonjour,

je voudrais savoir s'il est possible de détecter une demande de changement de
volet avant son affichage. Si un utilisateur essaie de changer de volet je
voudrais pouvoir contrôler les champs présents sur le volet courant avant
d'afficher le suivant (si les contrôles sont corrects). Actuellement si je
mets mon code dans "A chaque modification de onglet" le volet demandé est
affiché avant que je puisse faire les contrôles.

Si quelqu'un avait une solution ce serait sympa.

Cordialement,
Chris


--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Publicado em julho, 01 2005 - 3:37 PM
c'est là que se pose le problème.
je ne trouve pas ou placer le code pour les contrôles avant que le volet sur lequel je viens de cliquer ne s'affiche.
je n'ai trouvé aucun évènement sur l'onglet qui serait déclenché avant l'affichage effectif du volet demandé. :(
Publicado em julho, 01 2005 - 5:05 PM
Bonjour,
"chrisf" <guest@newsgroup.fr> writes:

c'est là que se pose le problème.
je ne trouve pas ou placer le code pour les contrôles avant que le volet sur lequel je viens de cliquer ne s'affiche.
je n'ai trouvé aucun évènement sur l'onglet qui serait déclenché avant l'affichage effectif du volet demandé. :(


il faut trapper l'évènement.

dans le code bouton gauche enfoncé de l'onglet
tu mets

selon onglet
cas 1 : info("ok") // affiche OK et sélectionnera l'onglet sur lequel
tu viens de cliquer
cas 2 : _eve.retour=0 // ne fait rien reste sur l'onglet 2
....

fin

--
suivre ce lien pour répondre:
http://cerbermail.com/…
Daniel
;-)
Publicado em julho, 02 2005 - 7:13 PM
Pour chacun des onglets, tu fais un procédure locale pour intialiser le remplissage des données et pour la validation des données. Tu replis les onglets dans le code d'initialisation de la feuille en appelant les procédures d'initialisation. Tu mets dans une variable locale à la feuille le numéro de l'onglet 1 (nOngletCourant est un entier = 1). Ensuite dans le code "A chaque modification de onglet", tu fais:

// Validation des données de l'onglet courant avant de passer au nouvel onglet demandé
// Les procédures Valide_Ongletx doivent retourner Faux si erreur ou Vrai si pas d'erreur
// Les procédures Valide_Ongletx doivent afficher leurs messages d'erreurs
// Si une erreur est détectée, rester sur le même onglet
SELON nOngletCourant
CAS 1
SI PAS Valide_Onglet1() ALORS
Onglet = 1
RETOUR
FIN
CAS 2
SI PAS Valide_Onglet2() ALORS
Onglet = 2
RETOUR
FIN
Cas 3
---
FIN

// Si aucune erreur dans la saisie de données de l'onglet, afficher l'onglet demandé
nOngletCourant = Onglet


Voilà, j'espère avoir pu t'aider.

Christian Potvin
Beaulieu Canada