Bonjour,
comment est-ce qu'on peut faire le tri sur une colonne ajoutée manuellement dans un DGV ?
Merci pour toute piste.
Version imprimable
Bonjour,
comment est-ce qu'on peut faire le tri sur une colonne ajoutée manuellement dans un DGV ?
Merci pour toute piste.
Code:DataGridView1.Sort(DataGridView1.Columns("NomDeLaColonne"), ListSortDirection.Ascending)
Merci tomlev pour votre réponse.
Cependant, j'ai une argumentexception avec le message suivant :
En effet, mon DGV est lié à une datasource et ayant une colonne indépendante sur laquelle je veux faire mon tri.Citation:
Un contrôle DataGridView lié aux données ne peut être trié que sur des colonnes liées aux données.
J'espère que je suis bien claire.
ah ok... dans ce cas je pense qu'il faut que tu utilises la surcharge de la méthode Sort qui prend en paramètre un IComparer
Sur la colonne du DataGridView, il faut définir SortMode = Programmatic. Pour afficher le symbole de tri, il faut définir la propriété SortGlyphDirectionCode:
1
2
3
4
5
6
7
8
9
10
11 Class MyComparer Implements IComparer Public Function Compare(a As Object, b As Object) as Integer ' coder ici la logique pour comparer 2 lignes ' renvoyer -1 si a < b, 1 si a > b, 0 si a = b End Public End Class DataGridView1.Sort(New MyComparer())
argh... j'avais pas prévu ça :aie:
ben apparemment c'est pas possible de trier selon une colonne qui n'est pas bindée si le reste de la grille est bindée...
tu ne pourrais pas ajouter un champ dans ta source de données ? ça règlerait le problème...
Bonjour,
N'oublie pas : :resolu: