Gridview, objectdatasource et relationnel

lbnetwork Messages postés 2 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 26 avril 2006 - 26 avril 2006 à 17:33
GrosJoce Messages postés 2 Date d'inscription jeudi 7 octobre 2004 Statut Membre Dernière intervention 14 juin 2006 - 27 juin 2006 à 16:52
Bonjour,

je suis entrain de créer des objets pa rapport à un mon modèle relationnel.
Le problème est que mes objets contiennent des proriétés qui font référence à des ID sur d'autres objets.
Lorsque j'utilise un gridview j'aimerais ne pas afficher les ID qui font référence à ces autres objets mais plutot les valeurs appartenant a ces objets.
Pour être sur de bien me faire comprendre. J'ai un objet personne(Nom,prenom,RefEquipe) et un objet Equipe(Nom,division, etc ...)

j'aimerais quand j'affiche mon objet "personne "dans mon gridview pouvoir afficher --> Nom,prenom et Nom de l'Equipe par exemple

je sais le faire si j'encapsule l'objet "equipe" dans l'objet "personne" qui sera affiché dans mon gridview mais cela me donne une dépendance entre les 2 objets hors je pense que ce ne soit pas une bonne solution.


Comment établir la relation avant l'affichage des propriétés fesant référence à cet autre objet ????


Je n'ai pas bcp d'expérience dans ce type de développement donc n'hésitez pas à m'orienter si ma méthode de procédé est mauvaise. Je vous remercie, bcp.

Fabrice.

3 réponses

mdemo Messages postés 90 Date d'inscription mardi 21 mars 2006 Statut Membre Dernière intervention 10 mai 2010
26 avril 2006 à 18:23
Bonjour,


Si j'ai bien compris ce que tu souhaites faire il te suffit de baser ton gridview sur une requête sql. Cette requête est basée sur tes deux tables d'où tu extrais les données souhaitées (nom, prénom de la première table, nom de l'équipe de la seconde, avec liens entre les ID communs). Ces champs seront alors accessibles dans ton gridview.


Pour ma part, avec sql server, j'utilise des objectdatasources, et je lis les données depuis des stored procedures. Ces stored procédures sont des requêtes de divers types (select, update, delete,insert...) générées côté serveur. Tu peux aussi travailler facilement avec Access (accessdatasource). Je pense que l'assistant te permet de créer les requêtes très facilement sans créer de code.


Good luck! 


  
0
lbnetwork Messages postés 2 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 26 avril 2006
26 avril 2006 à 19:11
je suis d'accord, mais ici je travaille avec un mysql et une couche d'accès aux données auxquelles j'y accède via mes objets. Vu qu'il n'y a pas de provider free pour mysql je passe par des objets et d'un point de vue logique je n'ai pas envie de mélanger plusieurs objets dans le but de récupérer un résultats affichable dans mon gridview. Si non j'y arrive en encapsulant un objet dans l'autre mais ca me pose des problèmes par la suite
0
GrosJoce Messages postés 2 Date d'inscription jeudi 7 octobre 2004 Statut Membre Dernière intervention 14 juin 2006
27 juin 2006 à 16:52
au cas où tu chercherais encore, tu peux créer des champs personnalisés en SQL.

Par exemple, si tu veux le prenom d'une personne à la place de l'identifiant, tu fais, dans ton select, une requete imbriquée.

SELECT *, (SELECT Prenom FROM Personne WHERE Personne.IdPersonne=maTable.IdPersonne) AS Prenom From maTable

Apres tu affiches dans ta GridView la colonne "Prenom" et tu masque la colonne "IdPersonne".

a+
0
Rejoignez-nous