hi, Here i add a sample code for sorting 1) In Gridview Properties add this AllowSorting="true" OnSorting="gridView1_OnSorting" 2) In gridView use TemplateField Column <asp:TemplateField HeaderText="joiningdate" HeaderStyle-HorizontalAlign="Left" SortExpression="joiningdate" ItemStyle-Width="30%"> <ItemTemplate > <span id="joiningdate" runat="server" style="color:Black;" ><%#Eval("joiningdate") %></span> </ItemTemplate> </asp:TemplateField> 3) create a Event gridView1_Onsorting protected void gridView1_OnSorting(object sender, GridViewSortEventArgs e) { string sortExpression = e.SortExpression; ViewState["sortExpression"] = e.SortExpression; if (GridViewSortDirection == SortDirection.Ascending) { GridViewSortDirection = SortDirection.Descending; SortGridView(sortExpression, "DESC"); } else { GridViewSortDirection = SortDirection.Ascending; SortGridView(sortExpression, "ASC"); } } 4) Create a SortGridView() Method private void SortGridView(string sortExpression, string direction) { DataTable dt = null; dt = "test" // fill the Datatable rows using sqlcommand or Dataset DataView dv = new DataView(dt); dv.Sort = sortExpression + " " + direction; gridView1.DataSource = dv; gridView1.DataBind(); } 5) Create a enum SortDirection public SortDirection GridViewSortDirection { get { if (ViewState["sortDirection"] == null) ViewState["sortDirection"] = SortDirection.Ascending; return (SortDirection)ViewState["sortDirection"]; } set { ViewState["sortDirection"] = value; } }