В элементе управления gridview установите для свойства AllowSorting значение true
<asp:GridView runat="server" ID="gvItems" AllowSorting="true" ...>
В HeaderTemplate столбца, который вы хотите отсортировать, установите свойство SortExpression для поля, к которому привязан шаблон, если вы не используете HeaderTemplate и не используете BoundField, должно также быть свойство SortExpression
<asp:TemplateField SortExpression="ItemDescription" HeaderText="Item">...
Реализация метода OnSorting
Внутри OnSorting используйте второй параметр (GridViewSortEventArgs), чтобы узнать, что такое выражение сортировки, и перепривязать ваше представление сетки
protected void gv_Sorting(object sender, GridViewSortEventArgs e)
{
string fieldToSortOn = e.SortExpression;
//implement sort logic on datasource...
}
Это должно дать вам хорошее начало