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 :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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...)
Partager