Quel est le moyen le plus simple de renommer les colonnes d'un DataGridView affichant une liste < T > ;?
-
03-07-2019 - |
Question
J'ai un DataGridView, dont la source de données est définie sur une Liste < T >
. T
est dans ce cas une classe avec une propriété appelée Foo
, dont l'en-tête que je veux afficher en tant que Foo bar
.
S'il s'agissait d'un datatable, je pourrais simplement changer la requête:
select Foo as [Foo bar] from Baz
Mais avec quelque chose comme ceci, où je configure le DataSource de DataGridView sur List < Baz >
:
public class Baz {
public string Foo { get; set; }
}
Je ne peux pas renommer " Foo
". vers " barre de foo
" car il contient des espaces. Dois-je renommer le DataGridViewColumn manuellement?
La chose la plus géniale serait si je pouvais utiliser des décorateurs de classe, quelque chose comme ceci:
public class Baz {
[DataGridViewColumnTitle("Foo bar")]
public string Foo { get; set; }
}
Mais pour autant que je sache, rien de tel n’existe dans la bibliothèque standard.
Quelle est ma meilleure option?
La solution
[DisplayName("Foo bar")]
(dans l'espace de noms System.ComponentModel; MSDN )