title: DataGridView sort and e.g. BindingList<T> in .NET
body: <p>I'm using a <code>BindingList&lt;T&gt;</code> in my Windows Forms that contains a list of "<code>IComparable&lt;Contact&gt;</code>" Contact-objects. Now I'd like the user to be able to sort by any column displayed in the grid.</p>
  
  <p>There is a way described on MSDN online which shows how to implement a custom collection based on <code>BindingList&lt;T&gt;</code> which allows sorting. But isn't there a Sort-event or something that could be caught in the DataGridView (or, even nicer, on the BindingSource) to sort the underlying collection using custom code?</p>
  
  <p>I don't really like the way described by MSDN. The other way I could easily apply a LINQ query to the collection.</p>