DataGridView.DragRow Event
Occurs when users touch and hold a data row to drag it.
Namespace: DevExpress.XamarinForms.DataGrid
Assembly: DevExpress.XamarinForms.Grid.dll
NuGet Package: DevExpress.XamarinForms.Grid
#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 |
---|---|
Allow |
Gets or sets whether to allow or prohibit an operation with the row.
Inherited from Row |
Drag |
Gets a data source item that corresponds to the dragged row. |
Row |
Gets the grid’s row handle.
Inherited from Row |
#Remarks
The DragRow
event allows you to manage the drag action.
You can use this event to prevent drag of the specified row:
Subscribe to the
DragRow
event.<dxg:DataGridView AllowDragDropRows="True" DragRow="grid_DragRow"/>
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 Allow property to false 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.XamarinForms.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.Allow = false; } }