EXEMPLE D'UTILISATION DE DATAGRID AVEC 2 TABLES ORDERS ET DETAIL DANS LE MEME DA

cs_tintin972 Messages postés 36 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 16 mai 2008 - 5 mai 2008 à 14:34
najateciges Messages postés 5 Date d'inscription jeudi 23 novembre 2006 Statut Membre Dernière intervention 29 mars 2011 - 29 mars 2011 à 14:05
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/22073-exemple-d-utilisation-de-datagrid-avec-2-tables-orders-et-detail-dans-le-meme-datagrid

najateciges Messages postés 5 Date d'inscription jeudi 23 novembre 2006 Statut Membre Dernière intervention 29 mars 2011
29 mars 2011 à 14:05
bjr,
comment peut-on faire pour afficher le détail en dessous de la ligne entête
car lorsque je clic sur le petit (+), il m'affiche le détail à part et je ne ss ps comment le faire??
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
19 mai 2008 à 08:40
oups tardivement, tu peux les faire generer par visualstudio, je ne sais pas si cela existe en express sinon ===> a la main ^^
cs_tintin972 Messages postés 36 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 16 mai 2008
16 mai 2008 à 21:22
C'est quoi l'assistant formulaire? ca existe dans MVS Express ?? c le concepteur de vue?
cs_tintin972 Messages postés 36 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 16 mai 2008
16 mai 2008 à 20:15
Dis pour les requetes sqlUpdateCommand1, sqldeleteCommand1.... Tu les as g?n?r?s ou tu les a faites manuellement? Si tu les a g?n?r?s...Avec quoi parce que ca me gave de devoir les faires a la main... Merci d'avance (une fois de plus)....Bordel je vais jamais arriver a rentrer chez moi dans cette histoire...
cs_tintin972 Messages postés 36 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 16 mai 2008
9 mai 2008 à 11:19
Salut,
J'ai essayé de faire du currencymanager mais malheureusement je ne suis pas assez bon pour lui...Mais dans mes recherches j'ai trouvé un outil assez sympa pour les débutants comme moi. Le boite de gestion "sources de donné"... J'arrive maintenant a lier mes 3 tables (Produit, detail, composent). Mes il y a encore un "hic" la table composent ne m'affiche que le composent sélectionné dans la table détail. Je voudrais que mon databinding (ou dataadapter..j'ai un doute) soit rempli avec tout les composent dont le component_id apparait dans ma table détail...Je ne sais pas vraiment comment faire...
En fait je pense qu'il faut une nouvelle requete mais j'ai deux options :
- faire une requete qui dit pour chaque entré de la tableadapter détail regarde le component_id et ressort moi l'entré correspondante dans le tableadapter...J'ai aucune idée comment faire ca (y'a l'équivalent de foreach en sql???)
- changer la requete qui remplie ma table detail pour qu'elle "donne" un parametre qui correpond a au "product_id" qu'il a utiliser pour se remplir alors je peux récupérer cette valeur comme parametre de la requete qui remplie mon dataadapter component. La requete serait alors SELECT compo_id, device, value FROM dbo.COMPONENT WHERE compo_id IN (SELECT compo_id FROM DETAIL WHERE produc_id = @param)
Malheureusement je suis incapable de récupérer une valeur (out)...
Ca serait cool que tu puisses me sauver, je commence a etre vraiment grave en retard sur mon projet et mon boss commence a piétiner...
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
5 mai 2008 à 14:46
le currencymanager est ton ami

Currencymanager CM_entente =(Currencymanager)bindingContext[Mondataset.ma_table_entete]

et tu t'abonne au Positionchanged de ton entete :
CM_entete.positionChanged += new .....

et dans le positionchanged tu charge tes donnees de ta 3 eme table dans un datagrid different....
cs_tintin972 Messages postés 36 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 16 mai 2008
5 mai 2008 à 14:34
Salut,
Merci pour ce code. Mais comment ferais tu pour pour lier 3 tables entre elles. Car pour des problèmes d'intégrités des données j'ai du utiliser une table intermédiaire (produit -> détail -> composants). Donc du coup pour afficher la liste des composants d'un produit j'ai un pb. Comme tu le souligne dans le dernier post de la discussion il faut que la table parente soit l'entête et table enfant soit détail...
Donc faudrait que ma table transition soit a la foi définie comme table fille (parent produit) et comme table parent (table fille composant)....As tu une idée comment on peu faire ca proprement?
Rejoignez-nous