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 :

afficher un champ depuis une autre table dans un datagridview


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 83
    Points : 34
    Points
    34
    Par défaut afficher un champ depuis une autre table dans un datagridview
    Bonjours amis développeurs;
    Je crois qu'un exemple est la meilleurs façon d'expliquer mon soucis qui m'empeche de migrer définitivement vers visual C# depuis delphi, voila c trés simple:
    j'ai une table (relation) achat (code_produit,quantité_acheté)
    et une table produit(code_produit,libellé_produit,prix)
    je veut afficher dans le datagridview
    (code_produit,libellé_produit,prix,quantité_acheté,montant=prix*quantite)
    montant et libellé_produit doivent être des champs qui n'existe pas physiquement dans la relation, montant est calculable et libellé_produit doit s'afficher automatiquement selon le code produit saisie dans le datagridview,alors j'espère que cette fonctionnalité existe dans c# car dans delphi elle aide beaucoup a optimiser les tables en 3eme forme normale merci pour toute intervention.

  2. #2
    Débutant  
    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
    Points : 353
    Points
    353
    Par défaut réponse à amireve
    Bonjour,

    je pense avoir à peu prêt compris ton souci.

    Ta base est une base Sql Server ou autre??
    Le code_produit est choisi de quel manière??
    Arrive-tu a insérer le code_produit dans ton dataGridView??
    Si tu pense a d'autre renseignement qui pourrais nous éclairer n'hésite pas.

    Coridalement!!

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Points : 338
    Points
    338
    Par défaut
    si je comprend bien tu as 2 tables

    1 contient une liste de produits
    l'autre une liste d'achat avec pour chaque achat un produits et une quantitè


    tu veut afficher dans une grille la liste des achats(infos a afficher code_produit ; libellé_produit ; prix unitaire ; quantité_acheté ; prix total)


    si je comprend ton problème ne reside pas dans le language(delphi, vb, c#....) de ton formulaire mais de ton serveur de donnèes(access, mysql, sql) qui est le languague SQL

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT P.Code, P.Libelle, P.PrixUnitaire, A.Quantite, A.Quantite * P.PrixUnitaire AS 'Total'
    FROM Produits P, Achat A
    WHERE P.Code = A.CodeProduit
    tu recupere le resultat dans un DataTable
    se DataTable seras a utiliser en DataSource de ta Grille

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 83
    Points : 34
    Points
    34
    Par défaut RE
    merci pour vos réponse, je vais essayer de mieux expliquer
    J'utilise oracle mais le soucis n'est pas dans le SGBD car si je fait une requête sql c sur que le datagrid va afficher le champ calculable (montant) et le champs référence libellé produit avec une simple jointure mais le pb c que moi je dois pouvoir saisir directement dans le datagridview et quand je saisie les information le libellé et le montant s'affiche instantanément avant même de valider l’enregistrement des que je rentre les données requis bien sur, si je fait une requête sql je crois que ça va donner une grille en lecture seule, dans delphi il existe une solution simple c’est de créer graphiquement des champs calculable et référence et je spécifie la table mère et le champs libellé, Pour le code produit je le sélection soit par une fenêtre qui s’affiche des que je double click sur la cellule produit soit par une combobox dans la grille
    j’espère que c’est claire.

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par amireve Voir le message
    j’espère que c’est claire.
    Ca le serait plus si ton explication n'était pas en une seule phrase !!!

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 83
    Points : 34
    Points
    34
    Par défaut RE
    Ce que j'ai éxpliqué ici n'est pas mon application c'est juste un exemple trés simple pour pouvoir expliquer mon soucie, c'est pourtant simple
    un champs qui n'existe pas dans la base de données mais qui s'affiche dans le datagrid selon la clés étrangére saisie dans la grille, le champs est une valeur qui existe dans une autre table (table mére) plus simple que ca

  7. #7
    Débutant  
    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
    Points : 353
    Points
    353
    Par défaut
    En gros si j'ai bien compris tu veux afficher un champ d'une autre table??(table mère) car il y a héritage entre tes tables?? !!

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 83
    Points : 34
    Points
    34
    Par défaut RE
    oui c'est exactement ca et aussi afficher des champs calculable dans la grille exp montant=quantité*prix unitaire mais sans utiliser sql

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Le plus simple est de créer une vue sur la base de données, et de charger cette vue dans le dataset... sinon je ne crois pas qu'on puisse faire de jointures entre les tables d'un dataset

  10. #10
    Débutant  
    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
    Points : 353
    Points
    353
    Par défaut
    Je pense que tomlev a raison soit tu utilise une vue pour remplir ton dataGrid.

    Sans requête SQL je vois pas trop comment tu peux faire. Pourquoi tu veux pas utiliser SQL?? (c'est simple a utiliser!!)

  11. #11
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 83
    Points : 34
    Points
    34
    Par défaut RE
    je veut pas utiliser sql car je voudrais pas seulement afficher les données mais saisir dans le datagridview mais avec une vue ou sql la grille est en lecture seule

  12. #12
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    avec une vue ou sql la grille est en lecture seule
    Pas si le SGBD supporte la mise à jour des vues, comme Oracle par exemple

  13. #13
    Débutant  
    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
    Points : 353
    Points
    353
    Par défaut
    je veut pas utiliser sql car je voudrais pas seulement afficher les données mais saisir dans le datagridview
    d'aprés ce que je sait, si je me trompe pas, (en tout cas pour les DataGrid car je travail que sous VS 2003) tu peux quand même saisir dans ton dataGrid même si tu utilise SQl pour rentrer certaine donnée car ça bloque pas le pouvoir de saisir dans les cellule du dataGrid.

  14. #14
    Membre actif Avatar de g_tarik0010
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 186
    Points : 284
    Points
    284
    Par défaut
    Bonjour,
    J'ai pas bien compris ta question, mais va voir du coté du virtual mode du datagrid

Discussions similaires

  1. Réponses: 12
    Dernier message: 04/02/2015, 14h07
  2. Mettre à jours champs depuis une autre table
    Par Adin59 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 15/05/2014, 10h29
  3. [AC-2007] table liés, insertion de champs depuis une autre table
    Par moumouss dans le forum Access
    Réponses: 6
    Dernier message: 06/09/2009, 11h44
  4. Réponses: 5
    Dernier message: 13/04/2007, 10h13
  5. afficher un champ d'une autre table, Help!
    Par chakan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/03/2004, 23h20

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