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

C# Discussion :

DataBading avec DataSet contenant plusieurs DataTable


Sujet :

C#

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 92
    Points : 98
    Points
    98
    Par défaut DataBading avec DataSet contenant plusieurs DataTable
    Bonjour,

    Ma problématique me paraît courrante, pourtant je ne trouve pas de réponse :
    J'ai dans mon DataSet un dataTable disons "ventes" et un autre "produits". Les deux sont liés dans le DataSet par une relation.
    Lorsque je réalise mon DataBinding, je fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListObject_Ventes.SetDataBinding(MonDataSet, "vente");
    Ou encore :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListObject_Ventes.SetDataBinding(MonDataSet.Tables["ventes"]);
    Comme on voit, ma technique m'oblige à désigner un "dataMember", ce qui m'empêche d'utiliser plusieurs des DataTable.
    La question est simple : Comment avoir les lignes "vente" ainsi que les lignes "produits" correspondants en utilisant la liaison définie dans mon DataSet.

    Je me suis dit qu'il fallait peut-être passer par un autre DataSet intermédiaire, basé sur le 1er, mais même là, je pêche.

    En vous remerciant pur votre aide !
    Damran

    Note : Mon "ListObject_Ventes" est un ListObject Excel, je travail à remplir des plages à partir de xml.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    encore une fois... LA PLATEFORME ?!?

    cette question n'est pas dans la bonne section du forum... ce n'est pas une question sur le C# à ce que je sache non ?

    donc la moindre des choses ici et de nous en dire plus sur la plateforme...
    asp.net, windows forms, WPF, Silverlight, application console ?

    c'est quand même pas compliqué à comprendre que ce soit le plus important plus que le langage utilisé non ?
    en quoi le databinding est-il spécifique à C# ?

    personne ne lit jamais les remarques et les FAQ ou note d'utilisation des forums. C'est dingue.

  3. #3
    Membre éclairé Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Points : 735
    Points
    735
    Par défaut
    Bonjour,
    Dans ton DataSet tu dois relier les deux DataTable par une relation, ensuite tu met la relation dans le DataMember.

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 92
    Points : 98
    Points
    98
    Par défaut
    Merci pour cette piste chamamo.
    J'ai fais plusieurs tests, mais aucun ne conviens/marche

    Marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListObject_Ventes.SetDataBinding(MonDataSet, "Guide_CreditModule")
    J'ai donc ajouté explicitement la table de départ, mais je n'ai que les données "vente", et aucune données "produit" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListObject_Ventes.SetDataBinding(MonDataSet.Tables["produit"], "Produit_Vente")
    Bizarrement l'inverse ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListObject_Ventes.SetDataBinding(MonDataSet.Tables["vente"], "Produit_Vente")
    Mais j'ai du coup une autre question : je voulais joindre deux DataTable pour commencer, mais à terme, il y en aura plus que deux ("client" par exemple, également relié à "ventes").

    Comment faire, ou du moins, vers quelle technique devrais-je m'orienter ?

    En tout cas merci pour ta réponse !

    a+
    Damran

    PS à cinemania :
    1/il y'a aussi ça dans les règles
    2/Windows 7, .NET4, C#, XML pour le stockage des données, VS2010, VSTO

  5. #5
    Membre éclairé Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Points : 735
    Points
    735
    Par défaut
    ça ne marche pas comme ça, dans le DataSource tu met le DataSet pour que la table client soit prise en compte et non pas la table ventes seulement,

    et les ventes sont filtrées en fonction de ce que tu as dans la table client, cad si tu as:

    DataTable client:
    id |nom
    1 |a
    2 |b

    DataTable vente:
    id | idClient |nom
    1 |1 |Vente1
    2 |1 |Vente2
    3 |2 |Vente3
    4 |2 |Vente4


    et pour le binding:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListObject_Ventes.SetDataBinding(MonDataSet, "Produit_Vente")
    si tu as rien dans le DataTabe, tu n'as aucune vente c'est normal, si tu as le client "b" seulement, dans tes ventes tu auras (vente3, vente4)

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/03/2013, 16h30
  2. Requête avec un champ contenant plusieurs IDs
    Par Vinestro dans le forum Requêtes
    Réponses: 12
    Dernier message: 19/07/2010, 10h42
  3. [c#] Remplir un DataGridView avec plusieurs DataTable
    Par macfred dans le forum Windows Forms
    Réponses: 2
    Dernier message: 23/02/2010, 11h02
  4. dataset typé et plusieurs datatable
    Par tortuegenie dans le forum ASP.NET
    Réponses: 3
    Dernier message: 17/03/2009, 14h50
  5. DataSet contenant plusieurs Tables
    Par tibblou dans le forum VB.NET
    Réponses: 7
    Dernier message: 22/01/2007, 17h39

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