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 :

Liaison entre DataGridView


Sujet :

VB.NET

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 70
    Points : 48
    Points
    48
    Par défaut Liaison entre DataGridView
    Bonjour,

    Quelqu'un peut-il me dire comment fait on pour lier deux DataGridView dans une forme ou mieux me donner un exemple ?

    En fait, je souhaite faire un répertoire de clients et recréer le fonctionnement des formulaires et sous-formulaires d’Access.

    J'ai donc un premier DataGridView qui affiche les noms des sociétés, un deuxième les différentes adresses de chaque société, un troisième les noms des contacts pour chaque adresse et un quatrième les numéros de téléphones pour chaque contacts.
    Chaque DataGridView est chargé avec une table d'un DataSet par la méthode DataSource.
    Bien sûr toute modification de la sélection d'une cellule dans un DataGridView doit mettre à jour les données des DataGridView filles à jour.

    La structure des tables est donc la suivante :


    Nom Société ->
    Adresses ->
    Contacts ->
    Téléphones
    Chaque table ayant une relation avec sa table mère dans la base de données.

    Mon système fonctionne pour ce qui concerne la consultation, par contre pour la modification et l'ajout des données, c'est un peu la panique.

    J'ai cherché sur le net et j'ai trouvé sur le site Microsoft la méthode suivante :

    http://msdn.microsoft.com/fr-fr/libr...(v=VS.71).aspx

    Mais je ne saisi pas bien le fonctionnement et l'exemple est un peu succinct.

    Merci par avance de votre aide.

    Cordialement

  2. #2
    Membre du Club Avatar de anasschiguer
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2013
    Messages : 35
    Points : 62
    Points
    62
    Par défaut
    Bonjour, je vais te donner une idée que je crois va marcher mais dsl je n'ai pas vraiment de temps pour la coder et te donner d'exemples:
    Tu as bien dis que tu as tes trois tables et ils sont liées, alors tu fais une requete qui joint les trois tables, select *.Entreprise, *.Adresse, *.tel FROM Entreprise,Adresse,tel WHERE inner join IdEntreprise= CLEEtrangereEntreprise ...
    ( tu les joint ), après tu stockes ces données dans unn dataTable, tu mets comme datasource de tes trois DataGridView (DGV) ce dataTable, et puis tu mets en visible que les colonnes dont tu as besoin pour chaque DGV, par exemple : tu as 6 colonnes dans la dataTable, tu mets les deux premières colonnes visibles dans la DGV une , deux autres colonnes visibles dans la deuxième et qinsi de suite, comme ca si jamais tu as besoin de modifier c'est la requete que tu dois en modifier et a chaque modification tu actualise ton dataTable, la source de tes DGV
    Si tu es determiné pour l'essayer, tu me signale si jamais ca marche ou si tu as des problèmes
    Bonne Courage.
    Pensez à voter ou ou de mettre si ma réponse le mérite

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 70
    Points : 48
    Points
    48
    Par défaut
    Bonsoir anasschiguer,

    Merci de prendre le temps de me répondre.

    Ton idée est effectivement réalisable et permet de simplifier grandement la programmation.

    Les difficultés que je vois sont les suivantes :
    Pour l'utilisateur :
    Présentation peu synthétique en effet un client peut avoir plusieurs adresses (Site, Livraison, facturation, bureau d'étude, etc). Dans chaqu'une de ces adresses il y à plusieurs contacts qui ont plusieurs type de Nro (Téléphone, mobile, fax, adresse Mail, etc). L'affichage deviendra vite compliqué surtout pour des grandes sociétés.
    Pour les temps de réponse :
    Nous avons un réseau relié à différents sites. Les données passent par internet avec un débit assez faible. La méthode proposée augmente de manière très importante le nombre d'octets à véhiculer et dans le temps (le nombre de clients augmentant) ce nombre d'octets va augmenter exponentiellement.

    C'est pourquoi, j'ai choisi la solution décrite dans ma demande.

    J'espère que quelqu'un à une expérience de ce point et qu'il pourra me la faire partager.

    Merci encore.

    Cordialement.

  4. #4
    Membre du Club Avatar de anasschiguer
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2013
    Messages : 35
    Points : 62
    Points
    62
    Par défaut
    Rebonjour,
    Alors est-ceque tu as essayé un code qui ressemble à cela :
    (disant tes DataGridView sont : DGV1,DGV2 et DGV3 et ton DataSet qui contient trois DataTable : table1,table2 et table3 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    DGV1.DataSource=DataSet
    DGV2.DataSource=DataSet
    DGV3.DataSource=DataSet
    DGV1.DataMember=table1
    DGV2.DataMember=table2 
    DGV2.DataMember=table3
    Pensez à voter ou ou de mettre si ma réponse le mérite

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 70
    Points : 48
    Points
    48
    Par défaut
    ReBonjour,

    En effet, j'avais bien lu dans l'explication de Microsoft ce mode de fonctionnement de DataMember.

    Par contre, je ne l'ai pas encore essayé. Les explications m'on parues succinctes et ne décrivent pas vraiment dans quelles conditions on peut l'utiliser. De plus si ça fonctionne comme cela sans rien d'autre, j'en serai le premier surpris.

    J'espérais seulement gagner du temps et ne pas bidouiller.

    Je vais donc m'y mettre.

    Merci de votre aide.

    Cordialement

Discussions similaires

  1. liaison entre datagridview et textbox
    Par Marie_7 dans le forum C#
    Réponses: 2
    Dernier message: 15/05/2014, 19h05
  2. [VB.NET] Liaison entre les pages aspx et vb
    Par cosmos38240 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 18/03/2005, 12h55
  3. liaison entre plusieurs base de donnee
    Par GMI dans le forum Bases de données
    Réponses: 1
    Dernier message: 15/12/2004, 18h42
  4. Opérer une liaison entre 2 DBLookup
    Par pey dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/12/2004, 10h11
  5. Liaison entre un dblookupcombobox (filtre) et un dbgrid
    Par naw dans le forum Bases de données
    Réponses: 9
    Dernier message: 22/08/2004, 12h12

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