Skip to main content

DataViewBase.StartRecordDrag Event

This event occurs when a drag-and-drop operation is started.

Namespace: DevExpress.Xpf.Grid

Assembly: DevExpress.Xpf.Grid.v23.2.Core.dll

NuGet Package: DevExpress.Wpf.Grid.Core

Declaration

public event EventHandler<StartRecordDragEventArgs> StartRecordDrag

Event Data

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

Property Description
AllowDrag Gets or sets whether an end-user can drag records.
AllowedEffects Gets a member of the DragDropEffects enumeration that specifies which operations are allowed by the originator of the drag event.
Data Gets or sets a data object that contains the data associated with the DataViewBase.StartRecordDrag event.
DragElement Gets a drag element that is a control on which the drag-and-drop operation has been initiated.
Handled Gets or sets a value that indicates the present state of the event handling for a routed event as it travels the route. Inherited from RoutedEventArgs.
OriginalSource Gets the original reporting source as determined by pure hit testing, before any possible Source adjustment by a parent class. Inherited from RoutedEventArgs.
Records Gets dragged records.
RoutedEvent Gets or sets the RoutedEvent associated with this RoutedEventArgs instance. Inherited from RoutedEventArgs.
Source Gets or sets a reference to the object that raised the event. Inherited from RoutedEventArgs.

The event data class exposes the following methods:

Method Description
InvokeEventHandler(Delegate, Object) When overridden in a derived class, provides a way to invoke event handlers in a type-specific way, which can increase efficiency over the base implementation. Inherited from RoutedEventArgs.
OnSetSource(Object) When overridden in a derived class, provides a notification callback entry point whenever the value of the Source property of an instance changes. Inherited from RoutedEventArgs.

Remarks

You can use the StartRecordDrag event to cancel a drag operation.

The code sample below shows how to forbid dragging specific records:

<dxg:GridControl>
   <!---->
   <dxg:GridControl.View>
      <dxg:TreeListView AllowDragDrop="True" StartRecordDrag="OnStartRecordDrag" />
   </dxg:GridControl.View>
</dxg:GridControl>
void OnStartRecordDrag(object sender, StartRecordDragEventArgs e) {
   foreach (Employee employee in e.Records) {
      if (employee.Department == "Finance") {
         e.AllowDrag = false;
         e.Handled = true;
         break;
      }
   }
}
See Also