Here. Michael has put together a very nice implementation of IBindingList that derives from ArrayList and adds generic sorting based on the types of the items in the list. Very handy for adding sorting to your DataGrid when binding to custom types instead of DataSets.