2011-01-28 5 views
0

J'ai une grille de données, appelée orderItemsGrid, qui contient les colonnes (ou les en-têtes TextColumn, pour éviter toute confusion) Nom de l'article, prix unitaire, quantité et montant (Quantité = Quantité * prix unitaire) de chaque article qu'un client a commandé dans une commande. Je voudrais récupérer les informations à cette grille à partir d'une base de données SQL Express 2008 R2, appelée Business, en utilisant LINQ to SQL. Mais le problème est que les colonnes ItemName et Price existent dans la table appelée ITEMS et les colonnes Quantity et Amount dans ORDER_ITEMS.C# | WPF | DataGrid - Liaison aux sources de deux tables

Si vous trouvez le problème pas clair, s'il vous plaît voir la capture d'écran de base de données ici: hxxp: //i.imgur.com/ZojkH.png

Relations: FK_ORDER_ITEMS_ORDERS (OrderID) FK_ORDER_ITEMS_ITEMS (ItemID)

Ou si vous préférez, le schéma de base de données est ici: http://i.stack.imgur.com/MY8G3.png

S'il vous plaît avec des commentaires et reviens aussi je serais heureux de vous fournir plus d'informations que vous pourriez avoir besoin.

Merci.

+0

Dans votre requête, sélectionnez uniquement les colonnes que votre DataGrid requiert et lie votre grille de données aux résultats de cette requête. Cela évitera des problèmes avec les noms de colonne en double. Vous pouvez également créer un AS et nommer chacune de vos colonnes, c'est-à-dire sélectionner le prix comme prix1. Puis reliez votre grille de données à la colonne Prix appropriée. – Queso

Répondre

0

SOLUTION:

Le nouveau code a fonctionné, mais il y a un problème - pas un grand bien - qu'il va chercher tous les attributs des deux objets. Code: hxxp: //i51.tinypic.com/13zs4ug.jpg ancien Code: hxxp: //i51.tinypic.com/29oppb8.jpg

0

Vous pouvez utiliser des jointures dans LINQ, ce n'est pas un problème, dans linq query vous pouvez créer un nouveau type avec des colonnes dont vous avez juste besoin, vous pouvez leur donner d'autres noms. Cette liste, résultat de la requête, peut être DataSource pour votre grille. Si vous avez besoin d'aide ou d'une requête rejoint dire

Questions connexes