GridSortInfo Class
Represents an element in the GridControl.SortInfo collection.
Namespace: DevExpress.Xpf.Grid
Assembly: DevExpress.Xpf.Grid.v24.2.Core.dll
NuGet Package: DevExpress.Wpf.Grid.Core
Declaration
Remarks
The GridControl.SortInfo collection maintains the sorted and grouped columns. Individual elements contained within this collection are represented by the GridSortInfo class. A GridSortInfo object specifies a column (GridSortInfo.FieldName), its sort order (GridSortInfo.SortOrder) and a grouping flag, which is set to true if grouping is applied to this column.
Adding elements to the GridControl.SortInfo collection applies sorting or grouping by specific columns. Removing elements from this collection clears sorting/grouping by the corresponding column.
The GridSortInfo objects that refer to the columns used to group data always come first in the collection. The number of such elements is specified by the GridSortInfoCollection.GroupCount property. The subsequent elements in the collection refer to the columns used for data sorting only.
To learn more, see Sorting in Code.
Example
This example shows how to apply data sorting and grouping in XAML.
Since group rows are always sorted, data grouping requires data sorting. Sorting applied to group columns takes priority over other columns. To group data by one column in XAML, do the following:
- Create a
GridSortInfo
object and specify its GridSortInfo.FieldName and GridSortInfo.SortOrder properties. The GridSortInfo.FieldName property specifies the grouping column by its field name. - Add the
GridSortInfo
object to the grid’s GridControl.SortInfo collection. This object must be the first element in this collection. - Finally, set the grid’s GridControl.GroupCount property to 1. This specifies that the first element in the GridControl.SortInfo collection corresponds to the grouping column.
The image below shows the result:
using System.ComponentModel;
using DevExpress.Xpf.Grid;
public Window1() {
InitializeComponent();
grid.DataSource =
new dsNwindProductsTableAdapters.ProductsTableAdapter().GetData();
CreateSortInfo(grid);
}
private void CreateSortInfo(GridControl grid) {
grid.SortInfo.Add(new GridSortInfo("UnitPrice", ListSortDirection.Descending));
grid.SortInfo.Add(new GridSortInfo("ProductName", ListSortDirection.Ascending));
grid.GroupCount = 1;
}
Related GitHub Examples
The following code snippet (auto-collected from DevExpress Examples) contains a reference to the GridSortInfo class.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.