Back to Devexpress

GridContextMenus Enum

blazor-devexpress-dot-blazor-575bb81f.md

latest5.1 KB
Original Source

GridContextMenus Enum

Lists context menu types available in the Grid component.

Namespace : DevExpress.Blazor

Assembly : DevExpress.Blazor.v25.2.dll

NuGet Package : DevExpress.Blazor

Declaration

csharp
[Flags]
public enum GridContextMenus

Members

NameDescription
None

No context menus.

| | Header |

The header context menu.

| | Footer |

The footer context menu.

| | DataRow |

The data row context menu.

| | GroupPanel |

The group panel context menu.

| | GroupRow |

The group row context menu.

| | GroupFooter |

The group footer context menu.

| | All |

All context menus.

|

The following properties accept/return GridContextMenus values:

LibraryRelated API Members
BlazorDxGrid.ContextMenus
IGrid.ContextMenus
XAF: Cross-Platform .NET App UI & Web APIDxGridModel.ContextMenus

Remarks

You can display context menus for the following Grid elements:

Assign GridContextMenus values to the ContextMenus property to display contextual commands when users right-click Grid elements.

Note

  • The Grid does not display a context menu if the menu contains no items.
  • Once you activate a context menu for specific Grid elements, the browser context menu becomes unavailable for the corresponding region (even if the Grid context menu is empty).

The following example demonstrates how to activate/deactivate Grid context menus:

razor
@inject WeatherForecastService ForecastService

<DxGrid Data="@Data" ContextMenu="AvailableContextMenus">
    <Columns>
        <DxGridDataColumn FieldName="Date" DisplayFormat="D" />
        <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; }
    GridContextMenus AvailableContextMenus;

    protected override void OnInitialized() {
        Data = ForecastService.GetForecast();
        // Activates all context menus (including menus without built-in items)
        AvailableContextMenus = GridContextMenus.All;
        // Disables all context menus
        AvailableContextMenus = GridContextMenus.None;
        // Activates only context menus that contain built-in items
        AvailableContextMenus = GridContextMenus.Header 
                                    | GridContextMenus.GroupPanel | GridContextMenus.GroupRow;
        // Activates menus for all elements except data rows
        AvailableContextMenus = GridContextMenus.All & ~GridContextMenus.DataRow;
    }
}
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

DevExpress.Blazor Namespace