Quel est le moyen le plus simple de renommer les colonnes d'un DataGridView affichant une liste < T > ;?

StackOverflow https://stackoverflow.com/questions/604716

  •  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?

Était-ce utile?

La solution

[DisplayName("Foo bar")]

(dans l'espace de noms System.ComponentModel; MSDN )

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top