I think we can't proceed with the first approach as we cannot modify the sorted columns list while we are in the BeforeSortChange event. I will try writing my own sort comparer. Thanks.