OrderByExpression Class (System.Web.UI.WebControls.Expressions)

Switch View :
ScriptFree
.NET Framework Class Library
OrderByExpression Class

Provides a way to apply a sort expression to an IQueryable object.

Inheritance Hierarchy

System.Object
  System.Web.UI.WebControls.Expressions.DataSourceExpression
    System.Web.UI.WebControls.Expressions.OrderByExpression

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

Visual Basic
Public Class OrderByExpression _
	Inherits DataSourceExpression
C#
public class OrderByExpression : DataSourceExpression
Visual C++
public ref class OrderByExpression : public DataSourceExpression
F#
type OrderByExpression =  
    class
        inherit DataSourceExpression
    end

The OrderByExpression type exposes the following members.

Constructors

  Name Description
Public method OrderByExpression Initializes a new instance of the OrderByExpression class.
Top
Properties

  Name Description
Protected property Context Gets the HttpContext instance of the owner control. (Inherited from DataSourceExpression.)
Public property DataField Gets or sets the property of the IQueryable object to sort by.
Public property DataSource Gets the data source object that is associated with the owner control. (Inherited from DataSourceExpression.)
Public property Direction Gets and sets the sort direction of the IQueryable data source object.
Protected property IsTrackingViewState Gets a value that indicates whether a data source expression object is tracking its view state changes. (Inherited from DataSourceExpression.)
Protected property Owner Gets the owner control. (Inherited from DataSourceExpression.)
Public property ThenByExpressions Gets or sets the collection of ThenBy expressions to apply after an OrderByExpression value is applied to the data source.
Protected property ViewState Gets an instance of the StateBag class that contains the current view state information. (Inherited from DataSourceExpression.)
Top
Methods

  Name Description
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetQueryable Applies a sort expression to an IQueryable object based on a DataField value and a Direction value. (Overrides DataSourceExpression.GetQueryable(IQueryable).)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method LoadViewState Loads the state of the values in the DataSourceExpression object that must be persisted. (Inherited from DataSourceExpression.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method SaveViewState Saves the current view state of the DataSourceExpression object. (Inherited from DataSourceExpression.)
Public method SetContext Sets the HTTP context of the DataSourceExpression object that uses the specified owner control, HttpContext instance, and IQueryableDataSource object. (Inherited from DataSourceExpression.)
Public method SetDirty Marks the DataSourceExpression object so that its state will be saved in view state. (Inherited from DataSourceExpression.)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Protected method TrackViewState Tracks view state changes of the DataSourceExpression object so that the changes can be stored in the StateBag object for the data source expression object. (Inherited from DataSourceExpression.)
Top
Explicit Interface Implementations

  Name Description
Explicit interface implemetation Private property IStateManager.IsTrackingViewState When implemented by a class, gets a value that indicates whether a data source expression object is tracking its view state changes. (Inherited from DataSourceExpression.)
Explicit interface implemetation Private method IStateManager.LoadViewState When implemented by a class, loads the previously saved view state of the data source expression object. (Inherited from DataSourceExpression.)
Explicit interface implemetation Private method IStateManager.SaveViewState When implemented by a class, saves the current view state of the DataSourceExpression object. (Inherited from DataSourceExpression.)
Explicit interface implemetation Private method IStateManager.TrackViewState When implemented by a class, tracks view state changes of the DataSourceExpression object so that the changes can be stored in the StateBag object for the data source expression object. (Inherited from DataSourceExpression.)
Top
Exceptions

Exception Condition
InvalidOperationException

The DataField property is null.

Remarks

The OrderByExpression class is used in the QueryExtender control to sort data in ascending or descending order. The sorting is performed by the default comparer for the type of the element.

The QueryExtender control supports a variety of options that you can use to filter data. After you use the filter options, you can use the OrderByExpression object to sort the data.

You specify the data field to sort by using the DataField property. You specify the sort direction by using the Direction property. After the OrderByExpression object has been applied to the data source, you can use the ThenBy expressions to perform a subsequent sort on another data field.

Examples

The following example shows how to search the Products table of the AdventureWorks database for products that have names that start with the string that is specified in the SearchTextBox text box. The OrderByExpression object sorts the data by the ListPrice data field in descending order and then by the product ID field in ascending order. The result of the query that is returned from the LinqDataSource control is displayed in a GridView control.

This code example is part of a larger example that is provided in Walkthrough: Filtering Data in a Web Page Using Declarative Syntax.


<form id="form1" runat="server">
    Search:<asp:TextBox ID="SearchTextBox" runat="server" />
  <p>
    <asp:Button ID="Button1" runat="server" Text="Search"  />
  </p>

  <asp:LinqDataSource ID="LinqDataSource1"  
      ContextTypeName="AdventureWorksDataContext"  
      TableName="Products" runat="server"> 
  </asp:LinqDataSource>

  <asp:QueryExtender runat="server" TargetControlID="LinqDataSource1">
    <asp:SearchExpression SearchType="StartsWith" DataFields="Name" >
      <asp:ControlParameter ControlID="SearchTextBox" />
    </asp:SearchExpression>
    <asp:OrderByExpression DataField="ListPrice" 
        Direction="Descending">
      <asp:ThenBy DataField="ProductID" Direction="Ascending"/>
    </asp:OrderByExpression>
  </asp:QueryExtender>

  <asp:GridView ID="GridView1" runat="server"  
      DataSourceID="LinqDataSource1" AllowPaging="True" >
  </asp:GridView>
</form>


Version Information

.NET Framework

Supported in: 4
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also

Reference

Other Resources