2010-05-21 6 views
0

J'ai une cellule DGV personnalisée que j'utilise pour afficher le contenu des objets MyType. Pour contrôler comment ils sont en cours de formatage je substitue les méthodes GetFormattedValue() et FormattedvalueType de DataGridViewTextBoxCell car dans ce cas je ne veux pas utiliser la méthode ToString() par défaut. Le problème est que lorsque je fais cela, la DGV trie la colonne par la chaîne dans FormattedValue au lieu de Value.Tri personnalisé des colonnes DataGridView basé sur Valeur non formatée

Je ne vois pas une méthode que je peux remplacer pour modifier le comportement de tri de la colonne. Bien que je sache que je peux, je ne veux pas avoir à écrire des méthodes de tri personnalisées pour les DGV eux-mêmes parce que je l'utilise dans plusieurs DGV.

Répondre

1

Vous remplissez le DGV manuellement ou en utilisant la liaison de données?

Dans le premier cas, vous pouvez gérer l'événement SortCompare, comme expliqué dans le lien posté par SwDevMan81.

Dans ce dernier cas, assurez-vous que votre classe MyType implémente IComparable. Cette implémentation sera utilisée par la DGV pour trier les données.

Questions connexes