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

Windows Forms Discussion :

[VB.NET] Partager un dataset entre 2 windows forms ???


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 18
    Points
    18
    Par défaut [VB.NET] Partager un dataset entre 2 windows forms ???
    Bonjour,

    Je voudrais savoir comment faire pour partager un dataset entre 2 forms.

    Je m'explique :

    - Dans le code de ma fenetre principale je declare un dataset (dim dtset as new dataset()), et je le remplie de donnees

    - Je voudrais acceder aux donnees de ce dataset a partir de toutes les autres fenetres que je cree

    -Pour l'instant je cree a chaque fois un nouveau dataset, et c'est pas terrible

    alors comment partager mon dataset??

    Merci

  2. #2
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 18
    Points
    18
    Par défaut
    J'ai cherche sur le net...et j'ai trouve un truc du genre :

    - Declarer son dataset ainsi quand on le cree : Public shared DtSet as new dataset()

    mais je ne sais pas comment y acceder apres a partir d'une autre form... ;(

  3. #3
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Salut je vais essayé de t'eclairer

    Mais avant toutes choses il faut que tu retournes sur ton premier post, tu appuies sur le bouton "editer" et modifie ton titre en ajoutant les tags reglos Exemple :
    [TonLangage]Comment partager un DataSet pour toute l'application?
    Merci

    Bon sinon pour ton souci

    Voilà, le principe est de séparer le traitement des données de l'interface graphique avec un pont commun

    • 1. Crée un Module - ne sachant pas je le fais en VB
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      Public Module monModule
         Public Shared maDataSet As New DataSet()
      End Module
      2. Les classes Métier qui ne travaille qu'avec maDataSet
      3. Les classes graphiques Forms qui utilise maDataSet quand elles en ont besoin

    Cependant il faudra veiller à que tout celà s'ordonne correctement afin que la Dataset soit initialisée correctement pour le form appelant, l'idée serait que systematiquement la Form appelante déclenche d'abord l'initialisation adaptée de la dataset avant de recupérer les donénes dont elles a besoin
    J'espère ne pas t'avoir trop embrouillé

    oh surtout n'oublies pas de changer ton titre
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 18
    Points
    18
    Par défaut
    Bon alors pour le titre c'est fait ;-) ... maintenant je saurais

    Sinon pour mon pb je ne pige pas grand chose a ton explication.

    L'etape 1 c'est bon...meme si je ne sais pas tout a fait ce qu'est un module ...par contre apres je suis un peu perdu.

    Le module je le cree independamment de tout le reste c ca ? sur aucune form? je cree juste un module...?

    ensuite je n'ai besoin de le remplir qu'une seule fois au lancement du soft...apres je dois juste pouvoir le lire a partir de chaque fenetre.

    Possible??

    Merci

  5. #5
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    bah tu déclares ton dataset en public et tu passes en paramètre ta form principale à chaque fois que tu crée une nouvelle fenetre fille.

    dans ta fenetre principale tu déclares une fenetre fille avec :
    FenetreFille f = new FenetreFille(this);

    le constructeur de ta fenetre fille sera donc : public FenetreFille(FenetrePrincipale p)

    maintenant tu peux acceder au dataset avec p.dataset dans la fenetre fille
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  6. #6
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Il n'est pas nécessaire d'attacher un dataset à une form , ce n'est pas un composant graphique mais bien en rapport avec System.Data
    Donc comme tu pratique le VB.net tu as bien pigé qu'était le module
    Donc ta dataset y est exposer directement et accessible de partout
    un simple appel maDataSet suffira 8)
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 18
    Points
    18
    Par défaut
    J'ai compris que je dois declarer le dataset dans un module standard...
    Mais ou dois je l'initialiser et l'associer a ma source de donnees???

    Merci

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 18
    Points
    18
    Par défaut
    ok je vais utiliser le principe du module standard accessible par toutes les fentres...mais je ne comprends pas pourquoi je dois faire attention a la phase d'initialisation

  9. #9
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    t'inquiète si tu l'initialise une seule fois et dès l'ouverture de l'appli, alors c'est ok
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  10. #10
    Nouveau membre du Club Avatar de yoyann
    Inscrit en
    Juillet 2005
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 37
    Points : 29
    Points
    29
    Par défaut
    Ton dataSet tu l'initialise une seule fois mais tu dois aussi le déclaré en static et public afin que toutes tes classes et Form puisse y acceder sans aucun emcombre.
    Tu peux aussi mettre ton DataSet dans une classe à part avec d'autre methode static si tu as envie.

    Bon il te faudra quand même vérifier que ton dataset ne contient pas la valeur nothing.

  11. #11
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par yoyann
    Ton dataSet tu l'initialise une seule fois mais tu dois aussi le déclaré en static et public afin que toutes tes classes et Form puisse y acceder sans aucun emcombre.
    Tu peux aussi mettre ton DataSet dans une classe à part avec d'autre methode static si tu as envie.
    Bon il te faudra quand même vérifier que ton dataset ne contient pas la valeur nothing.
    Euh déjà dit mais en VB.Net as-tu lu tout le post avant de repondre
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  12. #12
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Points : 18
    Points
    18
    Par défaut
    Merci a tous pour votre aide...la solution du module marche nickel !!!

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/09/2014, 17h25
  2. vb.net : Partage des variables entre forms
    Par House MD dans le forum VB.NET
    Réponses: 5
    Dernier message: 13/03/2008, 22h46
  3. Echange de données entre des Windows Forms
    Par vladvad dans le forum Windows Forms
    Réponses: 8
    Dernier message: 30/04/2007, 20h45
  4. Partager mes fichiers entre macosX & windows
    Par Johnny P. dans le forum Apple
    Réponses: 7
    Dernier message: 19/11/2006, 20h15

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