[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Collapse]Office File API
  Demo Application
  Redistribution and Deployment
 [Collapse]Spreadsheet Document API
   Product Structure
   Getting Started
  [Expand]Spreadsheet Document
   Supported Formats
  [Expand]Cell Basics
  [Expand]Formulas
   Defined Names
   Data Binding
  [Expand]Pivot Tables
  [Expand]Charts and Graphics
  [Expand]Mail Merge
  [Collapse]Examples
   [Expand]Files
   [Expand]Workbooks
   [Expand]Worksheets
   [Expand]Rows and Columns
   [Expand]Cells
   [Expand]Formulas
   [Expand]Import and Export Data
   [Expand]Data Binding
    Sorting
   [Expand]Mail Merge
    Search
   [Expand]Shapes
   [Expand]Charts
   [Expand]Sparklines
   [Expand]Formatting Cells
   [Expand]Conditional Formatting
   [Expand]Group Data
   [Collapse]Filter Data
     How to: Enable Filtering
     How to: Filter by Cell Values
     How to: Filter by Date Values
     How to: Apply a Custom Date Filter
     How to: Apply a Custom Text Filter
     How to: Apply a Custom Number Filter
     How to: Apply a Dynamic Filter
     How to: Filter Top or Bottom Ranked Values
     How to: Sort Data in the Filtered Range
     How to: Reapply a Filter
     How to: Clear a Filter
   [Expand]Tables
   [Expand]Pivot Tables
   [Expand]Printing
   [Expand]Pictures
   [Expand]Protection
 [Expand]Word Processing Document API
 [Expand]PDF Document API
 [Expand]Excel Export Library
 [Expand]Snap Report API
 [Expand]Zip Compression and Archive API
 [Expand]Barcode Generation API
 [Expand]Unit Conversion API
 [Expand]API Reference
[Expand]Reporting
[Expand]Report and Dashboard Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

How to: Sort Data in the Filtered Range

This example demonstrates how to the sort data in the range to which the filter is applied.

  1. Turn on the filtering functionality for the required range, as described in the How to: Enable Filtering example.
  2. Use the AutoFilterBase.SortState property of the SheetAutoFilter object to access the SortState object, which contains basic methods to perform sorting in the filtered range. Do one of the following.

    • To sort data by a single column, call the SortState.Sort method, and pass the following parameters: the zero-based index of the column to sort by, and the boolean value that specifies whether you wish to use ascending (false value) or descending (true value) sort order.

    • To sort data by multiple columns, create a list of the SortCondition objects, each of which defines the sort criteria to be used. To instantiate a SortCondition object, use the SortCondition (see SortCondition.SortCondition) constructor with the following parameters: the index of the column to sort by, and the boolean value that specifies the sort order (true, to use the descending oder; false, to sort in ascending order).

      Call the SortState.Sort method and pass the list of the created SortCondition objects as a parameter. In this example, data is sorted by the first and third columns in descending order.

      Note

      If you sort data by multiple columns, the next sort order will be applied separately to each group of data that shares the same value in the column used in the previous sort criteria. You can sort by up to 64 columns.

Is this topic helpful?​​​​​​​