Gridview, objectdatasource et relationnel

Signaler
Messages postés
2
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
26 avril 2006
-
Messages postés
2
Date d'inscription
jeudi 7 octobre 2004
Statut
Membre
Dernière intervention
14 juin 2006
-
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

Messages postés
90
Date d'inscription
mardi 21 mars 2006
Statut
Membre
Dernière intervention
10 mai 2010

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! 


  
Messages postés
2
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
26 avril 2006

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
Messages postés
2
Date d'inscription
jeudi 7 octobre 2004
Statut
Membre
Dernière intervention
14 juin 2006

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+