IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

4D Discussion :

Passage de variables entre méthodes objet d'un même formulaire


Sujet :

4D

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 14
    Points : 9
    Points
    9
    Par défaut Passage de variables entre méthodes objet d'un même formulaire
    Bonjour,

    J'ai un formulaire un peu évolué et j'ai un peu de mal à m'en dépétrer...

    Présentation:

    A gauche une listbox qui récupère nom et prénom dans une table.
    A droite une listbox qui récupère des dates en fonction de la période choisit
    En haut une popup déroulante qui liste les périodes disponibles.

    Ce formulaire sert à inscrire des enfants certains jours des vacances scolaires.

    Le problème c'est que ma listbox de droite (les dates) s'initialise au chargement (Evenement formulaire=Sur chargement )... En même temps que mon popup déroulant. Ce qui fait que la variable période initialisée dans la méthode du popup n'est pas disponible pour la méthode de la listbox.

    De même, quand je choisit une autre période via ma popup déroulante, la listbox ne se met pas à jour... puisqu'elle est déjà initialisée.

    Jusqu'à présent j'initialisait "de force" la popup avec une valeur entrée à la main dans le code...

    Comment remédier à ce problème?
    Merci de votre aide

    méthode de la popup:

    Au cas ou
    : (Evenement formulaire=Sur chargement )

    TABLEAU TEXTE(NomVacances;0)
    TOUT SELECTIONNER([Vacances])
    Tant que (Non(Fin de selection([Vacances])))
    AJOUTER A TABLEAU(NomVacances;[Vacances]Nom Vacances)
    ENREGISTREMENT SUIVANT([Vacances])
    Fin tant que
    $nbVac:=Taille tableau(NomVacances)

    VacancesSelect:=NomVacances{$nbVac}
    NomVacances{0}:=NomVacances{$nbVac}
    `ALERTE("nom de vacances"+VacancesSelect)
    `NomVacances{0}:="Sélectionner..."

    : (Evenement formulaire=Sur validation )
    VacancesSelect:=NomVacances{NomVacances}

    : (Evenement formulaire=Sur clic )
    VacancesSelect:=NomVacances{NomVacances}

    Fin de cas
    Images attachées Images attachées  

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 11
    Points : 13
    Points
    13
    Par défaut noms de vacances
    Petites remarques en préambule:
    Tu remplis un tableau Texte NomVacances, SELECTION VERS TABLEAU est plus efficace
    (Il vaudrait mieux écrire tNomVacances ou ArNomVacances, c'est plus lisible de typer les noms. Et pas obligatoirement un tableau texte)
    C'est mieux de stocker une seule fois le résultat de la fonction Evènement formulaire plutôt que de le demander à chaque cas

    C_Entier($Event)
    $Event:= Evenement formulaire
    Au cas ou
    : ($Event =Sur chargement )
    TABLEAU TEXTE(tNomVacances;0)
    TOUT SELECTIONNER([Vacances])
    SELECTION VERS TABLEAU([Vacances]Nom Vacances ; tNomVacances)
    $nbVac:=Taille tableau(tNomVacances)
    VacancesSelect:=tNomVacances{$nbVac}
    tNomVacances{0}:=NomVacances{$nbVac}
    Fin de cas

    Je ne comprends pas bien le problème.
    Tu remplis les noms de vacances dans ton tableau (popup) tu le positione à la dernière ligne.
    Ensuite tu devrais, me semble-il, chercher les dates disponibles de vacances correspondant à la ligne de popup choisie et remplir les tableaux de la listBox.
    Aussi bien dans le $Event= Sur chargement de la méthode Formulaire que dans la méthode objet du popup, sur le clic
    CHERCHER( [DatesVacances] ; [DatesVacances]NomVacances= tNomVacances{ tNomVacances })
    SELECTION VERS TABLEAU([DatesVacances]DateVac ;tDateVac ; [DatesVacances]Matin ;tMatin… etc
    Mais je ne sais pas si la listebox des dates est en rapport avec la liste des noms de personnes…
    Ce n’est pas claire…
    Cordialement

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Merci de tes réponses.

    Pour réaliser ce formulaire, je me suis aidé de la base exemple disponible ici.

    La différence étant tout d'abord qu'aulieu d'avoir une activité à cocher, je peux cocher pour chaque jour de vacances une inscription pour le matin et/ou le midi et/ou l'après-midi. En plus de cela, mon popup sert à afficher les différentes vacances prévues.

    Après pas mal d'essai et grâce à tes indication j'ai enfin (apparement ) réussi:

    C'est la méthode de la popup qui réinitialise (sur clic et sur validation) la listbox à partir de la nouvelle valeur sélectionnée dans la popup.
    Auparavant je faisais cela dans la méthode de la listbox des dates, mais évidemment l'évenement formulaire s'appliquait à la listbox et non à la popup... donc pas d'initialisation en fait....

    Par contre, la première initialisation de la popup se fait dans la méthode de la listbox pour permettre à cette dernière de s'initialiser au chargement...

    En clair j'avais un peu de mal avec ces évenements formulaire, ça va un peu mieux

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. passage de variable entre jsp ?
    Par MAJIK_ENIS dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 14/04/2006, 11h54
  2. Réponses: 2
    Dernier message: 15/12/2005, 08h43
  3. [C#] Passage de variables entre 2 forms
    Par Tips dans le forum C#
    Réponses: 6
    Dernier message: 06/12/2005, 16h48
  4. [vector] Partager une même variable entre deux objets.
    Par Ekinoks dans le forum SL & STL
    Réponses: 18
    Dernier message: 25/08/2005, 20h40
  5. [langage] Probleme passage de variables entre modules
    Par Ludo167 dans le forum Langage
    Réponses: 4
    Dernier message: 13/08/2004, 12h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo