Witam,

Czy pisał ktoś może taki uniwersalny sorter dla DataGridView, który potrafiłby sortować również zbindowane kolekcje customowych obiektów? Nie może to być sorter generyczny z uwagi na fakt, że zbindowane kolekcje nie są nam znane a zwracane są jako IList z elementemi typu object. Wymanage zatem będzie użycie refleksji. Użycie takiego sortera powinno być intuicyjne i elastyczne, np:

DataGridViewSorter  dataGridViewSorter = new DataGridViewSorter(dataGridView1);

dataGridViewSorter.RegisterColumnComparer(
    colorDataGridViewColumn, new ColorComparer());
    
dataGridViewSorter.RegisterColumnComparer(
    fontDataGridViewColumn, new FontComparer());

Myślę, że byłoby wygodnie, gdyby można było (tak jak na powyższym przykładzie) definiować comparatory dla różnych kolumn. Jeśli tego nie zrobimy, mechanizm powinien sprawdzać, czy elementy danej kolumny implementują IComparable i ich używać.

Być może ktoś już pisał coś takiego, dlatego zanim zacznę tworzyć własną implementację chętnie poznam wasze opinie.