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 :

Remplissage DataGrid par 2 Table


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut Remplissage DataGrid par 2 Table
    Bonjour,

    Je travail sous Visual Studio .Net2003 avec une base de donnée Sqlserver 2000.

    Dans ma base j'ai 2 tables :
    * La première c'est PIECE_DETACHEE qui a comme champ : 'PD_CODART', 'PD_DESIGNART', 'PD_PU_HT_', 'PD_PU_TTC'.
    * La deuxième table c'est PIECE_CONSOMMEE qui a comme champ : 'PC_CODART', 'PC_NUMINTER'(clé étrangère de ma table intervention), 'PC_QTECONSO', 'PC_PU1MOMEN' (prix unitaire HT du moment), 'PC_PU2MOMEN'(prix unitaire TTC du moment), 'PC_REMISE'.

    Dans mon application de Visual Studio.Net2003, j'ai une combo qui me permet de remplir un dataGrid. J'aimerais que ce dataGrid ait comme colonne : 'PD_CODART', PC_QTECONSO', 'PC_PU1MOMEN', PC_PU2MOMEN', 'PC_REMISE'.
    Sachant que ma combo correspond à 'PD_DESIGNART' ou si besoin cette combo peut prendre 'PD_DESIGNART' + 'PD_CODART'. (la concaténation, je sait faire.)

    Mon souci c'est que je ne voit pas comment faire pour remplir mon dataGrid avec des champs de 2 tables.
    Le remplissage du dataGrid se fait lorsqu'on sélectionne dans la combo donc 'PD_CODART' (qui se situe dans mon dataGrid) doit porter le code de l'article correspondant à la désignation sélectionné dans la combo.

    EXEMPLE :
    Dans ma table PIECE_DETACHEE j'ai : PD_DESIGNART = Carte mère et PD_CODART = 11
    Sélection de la Combo --> Carte mère
    PD_CODART de mon dataGrid --> 11
    ...

    Est-ce que cela est-il possible??
    Si oui,comment puis-je faire??

    Merci d'avance pour votre aide.

  2. #2
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    Mon souci c'est que je ne voit pas comment faire pour remplir mon dataGrid avec des champs de 2 tables
    si tu utilises une seule requete, je pense pas qu'il y ait de probleme

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut réponse à fally
    Bonjour,

    J'avais essayé avec une requête et ça fonctionnais pas.

    Voici le code pour remplir le DataGrid :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    private void DesArt_SelectedIndexChanged_1(object sender, System.EventArgs e)
    		{
    			string PieceDetachee = ("SELECT PD_CODART as codeArt, PD_DESIGNART as designArt, PC_QTECONSO as QuantitéConso, PC_PU1MOMEN as HT, PC_PU2MOMEN as TTC, PC_REMISE as remise FROM PIECE_DETACHEE, PIECE_CONSOMMEE WHERE PIECE_DETACHEE.PD_CODART = PIECE_CONSOMMEE.PC_CODART AND PD_DESIGNART = '" + DesArt.Text + "'");
    			connection = new SqlConnection("Data Source=SNCK96400031;Initial Catalog=DistribInfo;Integrated Security=SSPI");
    			connection.Open();
    			try
    			{
    				SqlDataAdapter dataAdapter2 = new SqlDataAdapter(PieceDetachee, connection);
    				DataSet ds2 = new DataSet();
    				dataAdapter2.Fill(ds2,"PieceDetachee");
    				dataGrid3.DataSource = ds2;
    				dataGrid3.DataMember = "PieceDetachee";
    			}
    			catch(Exception ex)
    			{
    				MessageBox.Show(ex.ToString());
    			}
    			finally
    			{
    				connection.Close();
    			}  
    		}
    Le problème : lorsque je choisit la désignation dans la combo, ça m'affiche les colonne du DataGrid mais elles sont vide. Donc j'ai mis un espion sur ma requête et je l'ai ensuite testé avec l'analyseur de requête de SQL SERver2000. Mais pareil, la requête me renvoi les colonne vides.
    certes les champ de la colonne PIECE_CONSOMMEE ne sont pas rempli mais il devrais avoir quand même les colonnes de désignation et code de remplis.

    Cordialement.

  4. #4
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    Le problème : lorsque je choisit la désignation dans la combo, ça m'affiche les colonne du DataGrid mais elles sont vide. Donc j'ai mis un espion sur ma requête et je l'ai ensuite testé avec l'analyseur de requête de SQL SERver2000. Mais pareil, la requête me renvoi les colonne vides.
    certes les champ de la colonne PIECE_CONSOMMEE ne sont pas rempli mais il devrais avoir quand même les colonnes de désignation et code de remplis.
    evidemment dans ta requete, ta condition "where" n'est pas vérifée puisque les champs de "PIECE_CONSOMMEE" ne sont pas remplis. la requete renvoit du vide alors

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut réponse à fally
    Ben ui mais le problème c'est ue la table PIECE_ONSOMMEE peut être vide au départ vu que je souhaite qu'on la remplisse dans le dataGrid.

    Car PIECE_DETACHEE concerneles pièces détachées que l'entreprise a a sa disposition et PIECE_CONSOMEE concerne les pièce consommé(utilisé) durant l'intervention.. (mon programme me permet de réaliser un suivi des interventions.)

    Donc comment je peux faire d'après toi fally ?? car là je vois pas du tout.

    Cordialement.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Par défaut relance du sujet
    Bonjour tout le monde,

    Aprés mainte recherche pour m'en sortir je vois vraiment pas comment faire.

    J'ai demandé conseila mon professeur qui ma dit de me servir de tableau mémoire qui servira pour remplir mon DataGrid mais j'ai beau chercher, réfléchir je vois pas trop comment je peux m'en sortir.

    J'ai besoin de votre aide s'il vous plais.

    Merci d'avance!!

    P.S. : Suis d'accord avec toi fally, j'ai un problème au niveau de ma requête car je l'ai essayé sous l'analyseur de requête de SqlServer 2000 et ça m'affiche rien. Mais je sait pas comment résoudre ce problème déja.

    Cordialement!!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/10/2013, 10h03
  2. Remplissage DATAGRID avec une requete et pas la table
    Par nabileon dans le forum VB.NET
    Réponses: 8
    Dernier message: 14/02/2013, 20h13
  3. [AC-2007] Remplissage treeview par une table unique
    Par diombo dans le forum VBA Access
    Réponses: 0
    Dernier message: 14/02/2010, 12h08
  4. Datagrid alimenté par 2 tables : tri
    Par doudou87 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 18/12/2009, 17h49
  5. Remplissage datagrid par code
    Par santacrus dans le forum Windows Forms
    Réponses: 3
    Dernier message: 19/09/2009, 17h47

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