GridControl.PopupMenuCustomization Event

Enables you to customize the grid's popup menus.

Namespace: DevExpress.Mobile.DataGrid

Assembly: DevExpress.Mobile.Grid.v18.1.dll

Declaration

public event PopupMenuEventHandler PopupMenuCustomization
Public Event PopupMenuCustomization As PopupMenuEventHandler

The GridControl provides a set of built-in popup menus enabling end-users to manage data rows (edit and delete them), sort and group data, show and hide columns, modify total and group summaries. Available menu types are listed by the GridPopupMenuType enumerator.

The PopupMenuCustomization event allows you to customize any of these menus. For example, you can remove existing menu items and/or add new custom items.

The following properties allow you to disable a grid's menu:

Examples

The following sample code handles the GridControl.PopupMenuCustomization event to customize the data row popup menu before it is displayed. The code clears default menu items and adds new ones. One of these custom items applies a specific filter to the grid data and another one clears this filter.

GridControl_CustomPopupMenu

using DevExpress.Mobile.DataGrid;
using DevExpress.Mobile.Core;
// ...

void OnPopupMenuCustomization(object sender, PopupMenuEventArgs e) {
    if (e.MenuType == GridPopupMenuType.DataRow) {
        e.Menu.Items.Clear();
        PopupMenuItem itemFilter = new PopupMenuItem();
        itemFilter.Caption = "Filter by Product";
        itemFilter.Click += ItemFilterClick;
        e.Menu.Items.Insert(0, itemFilter);

        PopupMenuItem itemClearFilter = new PopupMenuItem();
        itemClearFilter.Caption = "Clear Filter";
        itemClearFilter.Click += ItemClearFilterClick;
        e.Menu.Items.Insert(1, itemClearFilter);
    }
}

void ItemFilterClick(object sender, EventArgs e) {
    IRowData rowData = grid.GetRow(grid.SelectedRowHandle);
    Order selectedOrder = rowData.DataObject as Order;
    string productName = selectedOrder.Product.Name;
    grid.Columns ["Product.Name"].AutoFilterValue = productName;
}

void ItemClearFilterClick(object sender, EventArgs e) {
    grid.ClearFilter ();
}

See Also