GridViewDataColumn.SortOrder Property

Gets or sets the column's sort order.

Namespace: DevExpress.Web

Assembly: DevExpress.Web.v20.2.dll


public virtual ColumnSortOrder SortOrder { get; set; }

Property Value

Type Default Description


A ColumnSortOrder enumeration value that specifies the column's sort order.

Available values:

Name Description

No sorting is applied to a column.


Sorts the column in ascending order.


Sorts the columns in descending order.


Read the SortOrder property's value to determine which sort order is currently applied to the column. Assign a value to this property to sort data by the current column's values.

You can also use the GridViewDataColumn.SortAscending and GridViewDataColumn.SortDescending methods to specify the desired sort order. To clear sorting, use the GridViewDataColumn.UnSort method.

Any previous sorting is not cleared when changing the SortOrder property's value. The new sort order applies an additional sorting condition to the one previously applied. The newly sorted column is added to the collection of sorted columns. Its index within the collection can be obtained using the GridViewDataColumn.SortIndex property. The number of sorted columns is returned by the ASPxGridBase.SortCount property.

Sorting is allowed if the ASPxGridBehaviorSettings.AllowSort property is set to true.


The following example illustrates how to use the SortOrder property.

Web Forms approach:


For a full example, see the ASPxGridView - Customization Dialog demo.

<dx:ASPxGridView ID="Grid" runat="server" DataSourceID="ProductsDataSource" 
    EnableRowsCache="false" Width="100%">
        <dx:GridViewDataTextColumn FieldName="ProductName">
            <Settings AutoFilterCondition="Contains" />
        <dx:GridViewDataComboBoxColumn FieldName="CategoryID" Caption="Category Name" SortIndex="0" SortOrder="Ascending" AdaptivePriority="1">
            <PropertiesComboBox DataSourceID="CategoriesDataSource" ValueField="CategoryID" TextField="CategoryName" ValueType="System.Int32" />
            <Settings AllowHeaderFilter="True" AllowAutoFilter="False" SortMode="DisplayText" />
            <SettingsHeaderFilter Mode="CheckedList" />

MVC approach:


For a full example, see the GridView - Customization Dialog demo.

@Html.DevExpress().GridView(settings => {
    settings.Name = "GridView";
    settings.SettingsCustomizationDialog.Enabled = true;
    settings.Columns.Add(c => {
        c.FieldName = "ProductName";
        c.Settings.AutoFilterCondition = AutoFilterCondition.Contains;
    settings.Columns.Add(c => {
        c.FieldName = "CategoryID";
        c.Caption = "Category Name";
        c.SortIndex = 0;
        c.SortOrder = DevExpress.Data.ColumnSortOrder.Ascending;
        c.AdaptivePriority = 1;
        c.Settings.AllowHeaderFilter = DefaultBoolean.True;
        c.Settings.AllowAutoFilter = DefaultBoolean.False;
        c.Settings.SortMode = DevExpress.XtraGrid.ColumnSortMode.DisplayText;
        c.SettingsHeaderFilter.Mode = GridHeaderFilterMode.CheckedList;
        c.EditorProperties().ComboBox(cb => {
            cb.DataSource = NorthwindDataProvider.GetCategories();
            cb.TextField = "CategoryName";
            cb.ValueField = "CategoryID";
            cb.ValueType = typeof(int);
See Also