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

VB.NET Discussion :

Communication entre deux fenetres


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 60
    Points : 55
    Points
    55
    Par défaut Communication entre deux fenetres
    Bonjour, une ptite question sur la communication entre 2 pages :
    Sur une premiere page j'ai un gridview relié à un ObjectDataSource et sur une deuxieme page j'ai un detailsview relié à un autre ObjectDataSource qui pointe vers la meme table. Lorsque je valide un enregistrement sur le detailsview j'aimerai que le gridview de l'autre page se mettent à jour. Comment faire ???

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 46
    Points : 48
    Points
    48
    Par défaut
    Je pense que le mieux est de générer un event depuis ton detailsview et de placer un handler au niveau du code de ton gridview.

    Si tu veux plus de détails, fais moi signe.

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 60
    Points : 55
    Points
    55
    Par défaut
    Bah ca m'a l'air interesant comme reponse, donc oui j'aimerai bien plus de details.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 46
    Points : 48
    Points
    48
    Par défaut
    Je débute en VB.Net, mais ce que j'ai fait de cette manière fonctionne :

    Il faut que tu déclares un évènement public dans ton detailview :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Public Event il_y_a_eu_MAJ()
    Ensuite, dans le code de ton gridview, tu places un handler qui surveille l'évènement et une fonction qui va se déclencher si l'évènement est détecté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    private sub lafonction()
       (le code à exécuter en cas de MAJ)
    sub
     
    ' Ajout d'un gestionnaire d'évènements pour surveiller l'évènement
    ' il_y_a_eu_MAJ() que génère le detailview
     
    AddHandler InstanceDeDetailview.il_y_a_eu_MAJ, AddressOf lafonction
    Dans ton detailview, tu fais en sorte de déclencher l'évènement en cas de mise à jour, dans l'évènement adéquat, tu ajoutes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ' Si mise à jour
       RaiseEvent il_y_a_eu_MAJ()
    Voilà, j'espère que j'ai été assez clair...

    Note : c'est la technique que j'utilise parce que je n'ai pas de ObjectDataSource, il existe peut être des moyens plus simples implémentés au travers des ObjectDataSources, mais je ne les connais pas.

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 60
    Points : 55
    Points
    55
    Par défaut
    Je ne vois pas trop ce que je dois mettre pour "InstanceDeDetailview" vu que mon gridview et mon detailsview ne sont pas sur la meme page.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 46
    Points : 48
    Points
    48
    Par défaut
    Dans ce cas, il y a une autre façon de faire, peut-être un peu moins propre :

    Tu déclares ton évènement dans un module, ce qui lui permet d'être visible depuis toute l'application :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Module Machin
     
    Public Event il_y_eu_MAJ()
    Dans le code de ton gridview, ça devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    private sub lafonction()
       (le code à exécuter en cas de MAJ)
    sub
     
    ' Ajout d'un gestionnaire d'évènements pour surveiller l'évènement
    ' il_y_a_eu_MAJ() que génère le detailview
     
    AddHandler il_y_a_eu_MAJ, AddressOf lafonction
    Bon courage.

  7. #7
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 60
    Points : 55
    Points
    55
    Par défaut
    Le probleme est que ma deuxieme page est appelé en javascript par window.open donc apres je ne sais pas comment faire pour acceder à partir de la premiere page aux elements de cette deuxieme page...

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 46
    Points : 48
    Points
    48
    Par défaut
    Apparemment, tu programmes en ASP.Net non ?

  9. #9
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 60
    Points : 55
    Points
    55
    Par défaut
    oui oui en VB.NET

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 46
    Points : 48
    Points
    48
    Par défaut
    Désolé, je crois que je ne peux pas t'aider plus que ça, je ne vois pas trop ce que javascript vient faire là-dedans, à part si tu développes pour du Web, et dans ce cas je ne suis pas sûr que ce soit le bon forum, mais je peux me tromper.
    A+

  11. #11
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 60
    Points : 55
    Points
    55
    Par défaut
    Oui c'est une appli Web. Et j'ouvre mon detailsview dans une page popup que j'ouvre avec du javascript.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 46
    Points : 48
    Points
    48
    Par défaut
    Il y a éventuellement le window.opener qui te permet de pointer en javascript sur la fenêtre qui a ouvert la fenêtre courante.

    A partir de là, tu peux peut-être essayer un truc du genre :

    window.opener.nomdugrid.LaFonctionQuiVaRafraichir()

    C'est juste une idée, je n'y connais rien en développement .Net pour du Web.

Discussions similaires

  1. [XL-2007] communication entre deux fenetres distinctes excel
    Par norman5 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 25/06/2011, 20h37
  2. communication entre deux fenetres
    Par ouinih dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/11/2010, 18h30
  3. Communication entre deux fenetres
    Par Jere76 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 19/03/2007, 17h18
  4. Communication entre deux fenetres qui n'ont pas de lien de parenté
    Par Invité dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/09/2006, 15h58
  5. Réponses: 5
    Dernier message: 25/03/2003, 19h43

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