Back to Devexpress

GridContextMenuDefaultItemNames.ClearColumnSorting Field

blazor-devexpress-dot-blazor-dot-gridcontextmenudefaultitemnames-ea8a4c50.md

latest5.3 KB
Original Source

GridContextMenuDefaultItemNames.ClearColumnSorting Field

The Clear Sorting item’s name.

Namespace : DevExpress.Blazor

Assembly : DevExpress.Blazor.v25.2.dll

NuGet Package : DevExpress.Blazor

Declaration

csharp
public const string ClearColumnSorting = "ClearColumnSorting"

Field Value

TypeDescription
String

The “ClearColumnSorting” string.

|

Remarks

Specify the ContextMenus property to display context menus for the following Grid elements:

Clear Sorting is a Grid context menu item that clears sorting for the target column. This item is available in a header context menu only if sorting is enabled at both Grid and column levels. The item is disabled when the target column is not sorted.

Use the ClearColumnSorting field to apply the following customizations:

  • Access and customize the Clear Sorting item.
  • Add this item to data row, footer, or group footer context menus. Group panel and group row menus do not support this item and will not display it.
  • Remove the item from the header context menu.

Example

The following code snippet removes the Clear Sorting command from the context menu associated with the Date header cell:

razor
@inject WeatherForecastService ForecastService

<DxGrid Data="@Data"
        ContextMenus="GridContextMenus.Header"
        CustomizeContextMenu="CustomizeContextMenu">
    <Columns>
        <DxGridDataColumn FieldName="Date" DisplayFormat="D" SortIndex=0 />
        <DxGridDataColumn FieldName="TemperatureC" Caption="@("Temp. (\x2103)")" Width="120px" />
        <DxGridDataColumn FieldName="TemperatureF" Caption="@("Temp. (\x2109)")" Width="120px" />
        <DxGridDataColumn FieldName="Forecast" />
        <DxGridDataColumn FieldName="CloudCover" />
    </Columns>
</DxGrid>

@code {
    object Data { get; set; }

    protected override void OnInitialized() {
        Data = ForecastService.GetForecast();
    }
    void CustomizeContextMenu(GridCustomizeContextMenuEventArgs args) {
        if (args.Context is GridHeaderCommandContext headerContext) {
            if (headerContext.Column is IGridDataColumn dataColumn && dataColumn.FieldName == "Date") {
                args.Items.Remove(GridContextMenuDefaultItemNames.ClearColumnSorting);
            }
        }
    }
}
csharp
using System;

public class WeatherForecast {
    public DateTime Date { get; set; }
    public int TemperatureC { get; set; }
    public double TemperatureF => Math.Round((TemperatureC * 1.8 + 32), 2);
    public string Forecast { get; set; }
    public string CloudCover { get; set; }
    public bool Precipitation { get; set; }
}
csharp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;

public class WeatherForecastService {
    private List<WeatherForecast> Forecast { get; set; }

    private static string[] CloudCover = new[] {
        "Sunny", "Partly cloudy", "Cloudy", "Storm"
    };

    Tuple<int, string>[] ConditionsForForecast = new Tuple<int, string>[] {
        Tuple.Create( 22 , "Hot"),
        Tuple.Create( 13 , "Warm"),
        Tuple.Create( 0 , "Cold"),
        Tuple.Create( -10 , "Freezing")
    };

    public WeatherForecastService() {
        Forecast = CreateForecast();
    }

    private List<WeatherForecast> CreateForecast() {
        var rng = new Random();
        DateTime startDate = DateTime.Now;
        return Enumerable.Range(1, 15).Select(index => {
            var temperatureC = rng.Next(-10, 30);
            return new WeatherForecast {
                Date = startDate.AddDays(index),               
                TemperatureC = temperatureC,
                CloudCover = CloudCover[rng.Next(0, 4)],
                Precipitation = Convert.ToBoolean(rng.Next(0, 2)),
                Forecast = ConditionsForForecast.First(c => c.Item1 <= temperatureC).Item2
            };
        }).ToList();
    }

    public IEnumerable<WeatherForecast> GetForecast() {
        return Forecast.ToArray();
    }
    // ...
}
csharp
// ...
builder.Services.AddSingleton<WeatherForecastService>();

See Also

GridContextMenuDefaultItemNames Class

GridContextMenuDefaultItemNames Members

DevExpress.Blazor Namespace