GridView.Sort Method (String, SortDirection)


Sorts the GridView control based on the specified sort expression and direction.

Namespace:   System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

Public Overridable Sub Sort (
	sortExpression As String,
	sortDirection As SortDirection


Type: System.String

The sort expression with which to sort the GridView control.

Type: System.Web.UI.WebControls.SortDirection

One of the SortDirection values.

Exception Condition

The GridView control is bound to a data source control, but the DataSourceView that is associated with the data source is null.

Use the Sort method to programmatically sort the GridView control using the specified sort expression and direction. The sort expression specifies the column or columns with which to sort. To sort multiple columns, create a sort expression that contains a comma-separated list of field names. The sort direction indicates whether sorting is performed in ascending or descending order. This method is commonly used when you need to sort the GridView control from outside of the control, such as from a different control on the page. This method is also commonly used to programmatically set a default sort order for the GridView control when it is first rendered. Calling this method also raises the Sorted and Sorting events.

The following example demonstrates how to use the Sort method to programmatically sort the GridView control by multiple columns.

<%@ Page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<script runat="server">

  Sub SortButton_Click(ByVal sender As Object, ByVal e As EventArgs)

    Dim expression As String = ""
    Dim direction As SortDirection

    ' Create the sort expression from the values selected 
    ' by the user from the DropDownList controls. Multiple
    ' columns can be sorted by creating a sort expression
    ' that contains a comma-separated list of field names.
    expression = SortList1.SelectedValue & "," & SortList2.SelectedValue

    ' Determine the sort direction. The sort direction
    ' applies only to the second column sorted.
    Select Case DirectionList.SelectedValue

      Case "Ascending"
        direction = SortDirection.Ascending
      Case "Descending"
        direction = SortDirection.Descending
      Case Else
        direction = SortDirection.Ascending

    End Select

    ' Use the Sort method to programmatically sort the GridView
    ' control using the sort expression and direction.
    CustomersGridView.Sort(expression, direction)

  End Sub


<html xmlns="" >
  <head runat="server">
    <title>GridView Sort Example</title>
    <form id="Form1" runat="server">

      <h3>GridView Sort Example</h3>

             Sort by:
            <asp:dropdownlist ID="SortList1"
              <asp:listitem Selected="true">CustomerID</asp:listitem>
          <td colspan="2">
            Then by:
              <asp:dropdownlist ID="SortList2"
                <asp:listitem Selected="true">CustomerID</asp:listitem>
             Sort order:      
            <asp:radiobuttonlist id="DirectionList"
              <asp:listitem selected="true">Ascending</asp:listitem>

      <asp:button id="SortButton"


      <asp:gridview id="CustomersGridView" 
        emptydatatext="No data available." 

      <!-- This example uses Microsoft SQL Server and connects  -->
      <!-- to the Northwind sample database. Use an ASP.NET     -->
      <!-- expression to retrieve the connection string value   -->
      <!-- from the Web.config file.                            -->
      <asp:sqldatasource id="CustomersSource"
        selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 


.NET Framework
Available since 2.0
Return to top