Sorting a grid bound to a BindingList

I’ve just been trying to implement move up/down buttons on the rows of a C1Flexgrid bound to a BindingList. I can’t believe how hard going it was. You would think that telling the grid to sort itself on the column containing the sort order would do it, but it doesn’t. Despite the implications in the documentation, if you read it very carefully you realise that it always uses the sort order of the underlying BindingList, regardless of what else it has been told to do. The only way to make it resort its rows is to clear out the binding list and rebuild it in the desired order.

I finally found an explanation of how to do it on StackOverflow.