Utilisation d'une liste de POCO's comme datasource
Hello,
Après lecture de la traduction de l'article de Rudy Lacovara par Skalp, j'ai donc allégé mes DTO's (qui donc n'étaient pas de vrais DTO's) et je passe maintenant des POCO's à la couche GUI.
Un exemple vite faite d'un DTO et de son POCO :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
Public Class PersonDTO
Public Property Lastname as String
Public Property Firstname as String
Public Property Birthdate as Datetime
Public Sub New()
End Sub
End Class
Public Class PersonPOCO
Public Property DTO as PersonDTO
Public Sub New(dto as PersonDTO)
Me.DTO = dto
End Sub
'et ici viennent les appels aux méthodes de persistances
'et autres méthodes/fonctions utilitaires.
End Class |
Ma GUI reçoit donc la classe PersonPOCO. Avant, quand elle recevait PersonDTO, pas de souci pour afficher la liste dans un DataGridView. Je mettais une liste en datasource et j'ajoutais les colonnes moi-même en spécifiant pour chacune d'elle la propriété à afficher à l'aide de la propriété DataPropertyName (de type string) de la classe DataGridViewColumn.
Comment faire cela avec un POCO ?
Si je passe une liste de PersonPOCO en DataSource, le DataGridView ne contiendra qu'une seule colonne avec DTO comme header et PersonDTO comme contenu à chaque ligne.
Y a-t-il une solution en continuant à utiliser les POCO's ? (je pourrais parfaitement avant d'afficher, prendre le dto de chaque poco et en faire une liste pour la filer au DGV mais bon...)