cs_aeled
Messages postés108Date d'inscriptionmardi 25 novembre 2003StatutMembreDernière intervention10 mars 2005
-
8 avril 2004 à 09:48
najateciges -
29 mars 2011 à 13:48
je voudrais savoir s'il est possible de mette un dataGrid dans un autre dataGrid ou dans un repeater
j'aimerais lier mon premier dataGrid a une source de donnees et creer une colonne ou apparaitrait pour chaque ligne un autre petit datagrid contenant quelques donnees...
Arthenius
Messages postés1182Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 6 septembre 201114 8 avril 2004 à 11:46
Le truc c'est bien de faire une liaison entre 2 tables ??
genre dans le premier datagrid on affiche l'entete d'une commande et dans le 2eme datagrid on affiche le détail de cette commande c'est ca que tu souhaite faire ???
cs_aeled
Messages postés108Date d'inscriptionmardi 25 novembre 2003StatutMembreDernière intervention10 mars 2005 8 avril 2004 à 11:51
exactement, comment ta deviné!! j'alluscine
c'est justement pour gerer l'affichage de commandes, en effet le premier servirai a afficher toutes les commandes et pour chacune des lignes dans une colonne spécifique un deuxieme datagrid avec le details.
Arthenius
Messages postés1182Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 6 septembre 201114 8 avril 2004 à 12:29
Bon alors en fait il faut t'arranger pour avoir un dataset dans lequel tu va avoir ta table entete et detail...
(normalement assez facile à faire avec l'explorateur de serveur tu glisse tes tables sur ta fenetre et apres tu fais un Générer le groupe de donner en vérifiant que tes 2 tables sont selectionnes
la tu doit avoir ton dataset avec les 2 tables...
dans ton projet tu va avoir un Dataset1.xsd tu double clique dessus et miracle de la technologie tu dois voir tes 2 tables maintenant il faut lier ces deux tables par une datarelation
base sur la cle de ta table entete qui doit ce trouver dans ta table detail....pour ce faire clique droit sur la table détail->ajouter->relation
tu definis ta relation regle de gestion etc...
une fois que tout ca est fait :
sur le datasource de ta datagrid entete tu prend le dataset correspondant a l'entete...
sur la datagrid detail datasource l'entete et datamember la fameuse relation qu'on créer avant...
et la ca devrait marcher
tes 2 datagrid devrait etre lié...
si je me suis pas gourder kkpart...
cs_aeled
Messages postés108Date d'inscriptionmardi 25 novembre 2003StatutMembreDernière intervention10 mars 2005 8 avril 2004 à 15:23
"sur la datagrid detail datasource l'entete et datamember la fameuse relation qu'on créer avant..."
je comprend pas la
c'est ok pour le premier dataGrid mais je comprend pas comment lié le deuxieme et a quoi.
De plus comment l'intégrer au premier car mon but est de faire apparaitre le deuxieme dans une colonne du premier..
en tout cas merci beaucoup pour le debut c'est super bien expliqué ca fait plaisir de savoir que tout le monde ne repond pas en speed comme si ca les faisait chier de répondre!!!!
T un boss!!!
Arthenius
Messages postés1182Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 6 septembre 201114 8 avril 2004 à 15:54
merci :)
alors en fait pour le 2eme datagrid tu met en datasource la meme chose que pour ton datagrid entete....
en gros tu aurais pu faire un copier - coller de ton premier datagrid
donc une fois cela fait, tu aura un datagrid detail identique a celui d'entete...
et maintenant pour ton datagrid detail tu affecte au datamember la relation qu'on a créer dans le xsd ...
et la ta datagrid détail devrait afficher les lignes de ta table détail...
Arthenius
Messages postés1182Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 6 septembre 201114 8 avril 2004 à 15:59
haaaa
petit detail qui a aussi, je pense, son importance au moment de la création de la relation, bien mettre en élément parent ta table entete et en élément enfant ta table détail...
Arthenius
Messages postés1182Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 6 septembre 201114 8 avril 2004 à 16:25
par contre pour ton truc de mettre un datagrid dans une colonne d'un autre datagrid ????? jamais vu...
je sais que tu peux faire afficher un petit "plsu" devant chaque ligne de l'entete qui permet de basculer et d'afficher le détail dans la meme datagrid...
mais je trouve ca pas genial...c'est pas tres clair...
pas lisible...
mais je dois peut etre avoir un exemple de ca...
fo voir...
Arthenius
Messages postés1182Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 6 septembre 201114 8 avril 2004 à 16:46
je pense que c'est ta relation qu'est pas bonne...
les champs name et ID sont vide ???
il faut lier tes 2 tables par la cle primaire de la table commande, qui doit se retrouver dans ta table detail
sinon tu peux essayer d'utiliser l'assistant formulaire(clique droit ajouter nouvelle element-> assistant formulaire), tu lui donne le nom d'un nouveau groupe de données, qu'elle connexion utiliser, les tables (en utilisant la touche > tu rajoute tes 2 tables),tu creer une relation (en donnant un nom, la table parent et enfant, tu precise les cles qui servent a faire la jointure ) tu clique sur > et suivant tu verifie si tout est bon ou si tu veux oter certain champ de certaine table-suivant et tu choisi comment afficher tes données...
et tu aura un exemple qui doit fonctionner...
ca peut te faire une bonne base pour voir ce qui ne marche pas sur ton projet....
cs_aeled
Messages postés108Date d'inscriptionmardi 25 novembre 2003StatutMembreDernière intervention10 mars 2005 8 avril 2004 à 16:56
le champs name est bien rempli avec "CommandeDetail_commande" qui est générer automatiquement
c'est le champ id qui est vide mais je pense qye c'est normal par defaut non??
Arthenius
Messages postés1182Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 6 septembre 201114 8 avril 2004 à 17:00
ben non je pense que le champ id c'est justement le champ qui sert a faire le lien entre ta table commande et detail
faut bien que tu dise a ta relation comment y va retrouver son detail par rapport a la table commande..
c'est quoi la structure de tes tables ??
et les cles primaires ???
cs_aeled
Messages postés108Date d'inscriptionmardi 25 novembre 2003StatutMembreDernière intervention10 mars 2005 8 avril 2004 à 17:33
j'ai essayé l'assistant formulaire
le champ id n'est pas rempli!!
lui il fait:
datacommande.datasource=dataset;
dataCommande.datamember = Commande (le nom de la table)
datacommande.dataKeyField = id_commande (clé primaire)
dataDetail.dataSource = "";
dataDetail.dataMember = Detail_commande (le nom de la table)
dataDetail.dataKeyField = id_commande (champ de detail_commande)
voila, bon ca marche mais le deuxieme datagrid apparait en dessous du premier, ce qui n'ai pas top vu que je boss pour une boite pouvant gerer plusieurs centaines de commande, alors avoir le detail en bas de page tu comprendra que c'est pas top, d'ou le dataGrid dans le dataGrid...
cs_aeled
Messages postés108Date d'inscriptionmardi 25 novembre 2003StatutMembreDernière intervention10 mars 2005 8 avril 2004 à 17:33
j'ai essayé l'assistant formulaire
le champ id n'est pas rempli!!
lui il fait:
datacommande.datasource=dataset;
dataCommande.datamember = Commande (le nom de la table)
datacommande.dataKeyField = id_commande (clé primaire)
dataDetail.dataSource = "";
dataDetail.dataMember = Detail_commande (le nom de la table)
dataDetail.dataKeyField = id_commande (champ de detail_commande)
voila, bon ca marche mais le deuxieme datagrid apparait en dessous du premier, ce qui n'ai pas top vu que je boss pour une boite pouvant gerer plusieurs centaines de commande, alors avoir le detail en bas de page tu comprendra que c'est pas top, d'ou le dataGrid dans le dataGrid...
cs_aeled
Messages postés108Date d'inscriptionmardi 25 novembre 2003StatutMembreDernière intervention10 mars 2005 8 avril 2004 à 19:31
Non non... Le détails des commandes ne prends jamais plus de 3 lignes et la plupart du temps c'est un ligne. De plus, c'est ca qui est en place actuellement en asp et on doit refaire pareil...