Question

Mon DataGridView doit prendre en charge un certain nombre de types et ces types peuvent avoir un nombre quelconque de propriétés publiques, que je ne souhaite pas toutes afficher.

Quelqu'un peut-il suggérer un moyen de personnaliser dynamiquement les colonnes d'un DataGridView lors de la liaison d'une classe à une source de données? Un attribut indique-t-il à un contrôle s'il doit utiliser une propriété comme colonne, par exemple?

Conseils appréciés.

Était-ce utile?

La solution

Par défaut (avec la génération automatique de colonnes activée), il obtiendra simplement (via ComponentModel) les propriétés [Browsable (true)] (ou celles qui omettent cet attribut).

S'il s'agit de la seule utilisation de la liaison pour ces données, vous pouvez ajouter [Browsable (false)] aux propriétés que vous ne souhaitez pas afficher. Notez que cela empêchera également les liaisons de données régulières ( TextBox , PropertyGrid , etc.) avec ces propriétés.

En réalité, je pense qu'il serait préférable de créer votre propre attribut et de l'utiliser pour rechercher les propriétés que vous souhaitez afficher par réflexion (et créer vous-même les colonnes).

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