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

WinDev Discussion :

Passer les valeurs de variables d'une fenêtre à l'autre


Sujet :

WinDev

  1. #1
    Membre du Club
    Femme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2015
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2015
    Messages : 84
    Points : 49
    Points
    49
    Par défaut Passer les valeurs de variables d'une fenêtre à l'autre
    Bonjour,

    Je dispose de deux fenêtres.
    Une première (Fenetre_Selection) où je sélectionne dans son tableau N lignes.
    Je veux mettre le nombre de lignes sélectionnées dans le champ "Nombre de lignes sélectionnées" de ma seconde fenêtre (Fenetre_Traitement) et récupérer les ID des lignes
    sélectionnées et les mettre dans le champ "ID ligne" de ma seconde fenêtre.

    Par exemple :
    Je sélectionne 2 lignes.
    Une ayant l'ID 20 l'autre l'ID 21.
    Je clic sur le bouton "Valider de ma première fenêtre.
    Ma seconde fenêtre s'ouvre.
    Dans le champ "Nombre de lignes sélectionnées" = 2
    Dans la combo "ID ligne" choix dispo = 20 et 21.
    Je sélectionne 20.
    Je remplis les champs de la fenêtre et je clic sur le bouton "Valider".
    La même fenêtre que la précédente s'ouvre. Les champs à remplir sont vide.
    Dans le champ "Nombre de lignes sélectionnées" = 2
    Dans la combo "ID ligne" choix dispo = 21.
    Je remplis les champs de la fenêtre et je clic sur le bouton "Valider".
    Ma combo "ID ligne" est vide donc je ne relance pas la fenêtre.

    Code du bouton "Valider" après avoir sélectionné des lignes dans Fenetre_Selection :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    iPos, i est un entier
    i = TableSelectOccurrence(TableSelection)
    Si iPos = - 1 Alors
    Retour
    Fin
     
    Ouvre(Fenetre_Traitement)
    Je cherche surtout à récupérer le i = TableSelectOccurence(TableSelection) afin de pouvoir mettre la valeur dans Nombre de lignes sélectionnées.

    Merci à vous.

  2. #2
    Membre actif
    Homme Profil pro
    Développeur WEB - Admin Réseaux
    Inscrit en
    Décembre 2004
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Développeur WEB - Admin Réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2004
    Messages : 153
    Points : 286
    Points
    286
    Par défaut
    Bonjour,

    il te suffit de le passer en paramètre à ta fenêtre

    et dans le code de ta fenêtre tu attend un paramètre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PROCEDURE MaFenêtre(nb est un entier)
    ou alors tu crée ta variable en GLOBALE pour qu'elle soit accessible depuis tout ton projet comme cela tu la met à jour a chaque fois que tu clique sur le bouton valider de ta seconde fenêtre.

  3. #3
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 057
    Points : 9 397
    Points
    9 397
    Par défaut
    Dans on code, tu faisais i = ... puis tu testais iPos ... bizarre !
    Dans la fenetre n°1 , tu peux faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    i est un entier
    i = TableSelectOccurrence(TableSelection)
    Si i = - 1 Alors
    Retour
    Fin
     
    Ouvre(Fenetre_Traitement , i)
    Et dans la fenêtre fenêtre traitement tu vas mettre ce code : ( toute première section, déclarations globales de fenetre_traitement() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Procedure fenetre_traitement ( param1 )
    info(param1)
    Et tu vas constater qu'il affiche la valeur de i.

    En d'autres mots, ce n'est pas la fenetre_traitement qui va chercher dans la 1ère fenêtre les infos voulues, mais la 1ere fenêtre qui envoie à la 2ème les infos voulues.

    L'aide pour ça est ici : http://doc.pcsoft.fr/fr-FR/?1010026
    Edit : C'est ce que propose niuniuk36


    L'autre option, c'est que fenêtre traitement aille chercher dans la première fenêtre
    Si la premiere fenetre s'appelle fenetre0 alors dans la fenetre_traitemetn , tu peux faire des choses comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    i est un entier
    i = TableSelectOccurrence(fenetre0.TableSelection)
    Si i = - 1 Alors
    Retour
    Fin
     
    info (i)
    Ca marche aussi. Mais je conseille nettement la 1ère méthode.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

Discussions similaires

  1. [Débutant] Transmission de variable d'une fenêtre à l'autre
    Par Persuadeur dans le forum Interfaces Graphiques
    Réponses: 6
    Dernier message: 14/12/2008, 22h46
  2. Réponses: 5
    Dernier message: 18/06/2008, 09h50
  3. Réponses: 8
    Dernier message: 06/05/2008, 11h52
  4. Réponses: 2
    Dernier message: 06/04/2007, 10h26
  5. Passer la valeur dune variable javascript à une variable xsl
    Par nramariavelo dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 12/12/2005, 17h27

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