Skip to main content

DataGridView.DragRow Event

Occurs when users touch and hold a data row to drag it.

Namespace: DevExpress.Maui.DataGrid

Assembly: DevExpress.Maui.DataGrid.dll

NuGet Package: DevExpress.Maui.DataGrid

Declaration

public event EventHandler<DragRowEventArgs> DragRow

Event Data

The DragRow event's data class is DragRowEventArgs. The following properties provide information specific to this event:

Property Description
Cancel Gets or sets a value indicating whether the event should be canceled. Inherited from CancelEventArgs.
DragItem Gets a data source item that corresponds to the dragged row.
RowHandle Returns the handle of the processed row. Inherited from CancelRowEventArgs.

Remarks

The DragRow event allows you to manage the drag action.

You can use this event to prevent drag of the specified row:

  1. Subscribe to the DragRow event.

    <dxg:DataGridView AllowDragDropRows="True" 
                      DragRow="grid_DragRow"/>
    
  2. In the event handler, specify a row(s) that cannot be dragged. Use the RowHandle or DragItem property to identify the row by its handle or data source item. Set the e.Cancel property to true to prevent drag-and-drop operations.

    The following example checks whether a user drags the first task. If the task is not completed, the user cannot drag it.

    using DevExpress.Maui.DataGrid;
    
    // ...
    private void grid_DragRow(object sender, DragRowEventArgs e) {
        var currentItem = (EmployeeTask)e.DragItem;
        if (!currentItem.Completed && e.RowHandle == 0) {
                DisplayAlert("Alert", "The task '" + currentItem.Name 
                + "' is in progress. You cannot move it from the first position.", "OK");
                e.Cancel = true;
            }
    }
    
See Also