GridView.SortDirection Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the sort direction of the column being sorted.
public:
virtual property System::Web::UI::WebControls::SortDirection SortDirection { System::Web::UI::WebControls::SortDirection get(); };
[System.ComponentModel.Browsable(false)]
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public virtual System.Web.UI.WebControls.SortDirection SortDirection { get; }
[<System.ComponentModel.Browsable(false)>]
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.SortDirection : System.Web.UI.WebControls.SortDirection
Public Overridable ReadOnly Property SortDirection As SortDirection
Property Value
One of the SortDirection values. The default is SortDirection.Ascending
.
- Attributes
Examples
The following example demonstrates how to use the SortDirection property to programmatically determine the sort direction of a GridView control.
<%@ Page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void CustomersGridView_DataBound(Object sender, EventArgs e)
{
// Get the header row.
GridViewRow headerRow = CustomersGridView.HeaderRow;
// Get the footer row.
GridViewRow footerRow = CustomersGridView.FooterRow;
// Set the font color of the header and footer rows
// based on the sort direction.
switch (CustomersGridView.SortDirection)
{
case SortDirection.Ascending:
headerRow.ForeColor = System.Drawing.Color.Green;
footerRow.ForeColor = System.Drawing.Color.Green;
break;
case SortDirection.Descending:
headerRow.ForeColor = System.Drawing.Color.Red;
footerRow.ForeColor = System.Drawing.Color.Red;
break;
default:
headerRow.ForeColor = System.Drawing.Color.Black;
footerRow.ForeColor = System.Drawing.Color.Black;
break;
}
// Display the sort order in the footer row.
footerRow.Cells[0].Text = "Sort Order = " + CustomersGridView.SortDirection.ToString();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>GridView HeaderRow and FooterRow Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>GridView HeaderRow and FooterRow Example</h3>
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSource"
autogeneratecolumns="true"
emptydatatext="No data available."
allowsorting="true"
allowpaging="true"
showheader="true"
showfooter="true"
ondatabound="CustomersGridView_DataBound"
runat="server">
<headerstyle backcolor="LightCyan"
forecolor="MediumBlue"/>
<footerstyle backcolor="LightCyan"
forecolor="MediumBlue"/>
</asp:gridview>
<!-- 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%>"
runat="server"/>
</form>
</body>
</html>
<%@ Page language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub CustomersGridView_DataBound(ByVal sender As Object, ByVal e As EventArgs)
' Get the header row.
Dim headerRow As GridViewRow = CustomersGridView.HeaderRow
' Get the footer row.
Dim footerRow As GridViewRow = CustomersGridView.FooterRow
' Set the font color of the header and footer rows
' based on the sort direction.
Select Case CustomersGridView.SortDirection
Case SortDirection.Ascending
headerRow.ForeColor = System.Drawing.Color.Green
footerRow.ForeColor = System.Drawing.Color.Green
Case SortDirection.Descending
headerRow.ForeColor = System.Drawing.Color.Red
footerRow.ForeColor = System.Drawing.Color.Red
Case Else
headerRow.ForeColor = System.Drawing.Color.Black
footerRow.ForeColor = System.Drawing.Color.Black
End Select
' Display the sort order in the footer row.
footerRow.Cells(0).Text = "Sort Order = " & CustomersGridView.SortDirection.ToString()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>GridView HeaderRow and FooterRow Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>GridView HeaderRow and FooterRow Example</h3>
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSource"
autogeneratecolumns="true"
emptydatatext="No data available."
allowsorting="true"
allowpaging="true"
showheader="true"
showfooter="true"
ondatabound="CustomersGridView_DataBound"
runat="server">
<headerstyle backcolor="LightCyan"
forecolor="MediumBlue"/>
<footerstyle backcolor="LightCyan"
forecolor="MediumBlue"/>
</asp:gridview>
<!-- 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%>"
runat="server"/>
</form>
</body>
</html>
Remarks
Use the SortDirection property to determine whether the column being sorted is sorted in ascending or descending order.
Note
The GridView control has a built-in sorting feature that automatically sets this property. This property is typically used only when you need to programmatically determine the sort direction or when you are adding your own custom sorting functionality to a GridView control.