2010-03-15 2 views
1

J'ai un gridview qui est lié à une source de données sur un Windows Form (VB.NET). La grille affiche une liste de «certifications» et chaque «certification» peut être associée à plusieurs langues. Donc, dans la grille, je voudrais afficher les "langues" comme une colonne, et afficher une liste délimitée par des virgules des noms de langue pour chaque "certification".Affichage de la liste des objets sous la forme d'une seule colonne dans une grille de vue liée (Winforms)?

Dans la classe "certification", l'une des propriétés est une liste d'objets "langue", et chaque "langue" a un ID (guid), un nom (chaîne) et une valeur (entier). Donc, dans la source de données, j'ai la liste des "langues", mais je n'arrive pas à comprendre comment les afficher dans une colonne sur la grille. Le gridview ne me laissera pas ajouter la propriété de liste de langue en tant que colonne.

Alors, est-ce que le seul moyen d'ajouter une nouvelle propriété sur la classe "certification", qui renvoie une chaîne qui contient la liste délimitée par des virgules, et montrer que sur la grille? Ou existe-t-il un moyen d'afficher cette liste de "langues"?

Répondre

2

Ce n'est pas le seul moyen, mais à mon humble avis, c'est le moyen le plus approprié. S'il existe une composition intelligente de données au sein de la classe (en combinant des éléments de la liste dans une chaîne), cette classe doit être gérée en interne par la classe et les propriétés sont le modèle approprié. Cela serait similaire à l'annulation de ToString() pour votre objet. Ajoutez à cela que la liaison de données fonctionne bien avec les propriétés et que vous disposez d'une solution facile à gérer.

Questions connexes