DataViewBase.DropRecord Event

Occurs when a record is dropped on the drop target element.

Namespace: DevExpress.Xpf.Grid

Assembly: DevExpress.Xpf.Grid.v20.1.Core.dll

Declaration

public event EventHandler<DropRecordEventArgs> DropRecord
Public Event DropRecord As EventHandler(Of DropRecordEventArgs)

Event Data

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

Property Description
AllowedEffects Gets a member of the DragDropEffects enumeration that specifies which operations are allowed by the originator of the drag event. Inherited from DragEventArgsBase.
Data Gets or sets a data object that contains the data associated with the corresponding drag event. Inherited from DragEventArgsBase.
DropPosition Gets a drop position that specifies how a record is placed after it has been dropped. Inherited from DragEventArgsBase.
Effects Gets or sets the target drag-and-drop operation. Inherited from DragEventArgsBase.
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.
IsFromOutside Gets whether the dragged record is from another control. Inherited from DragEventArgsBase.
KeyStates Gets a flag enumeration indicating the current state of the SHIFT, CTRL, and ALT keys, as well as the state of the mouse buttons. Inherited from DragEventArgsBase.
OriginalSource Gets the original reporting source as determined by pure hit testing, before any possible Source adjustment by a parent class. Inherited from RoutedEventArgs.
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.
TargetRecord Gets a record that is drop target. Inherited from DragEventArgsBase.
TargetRowHandle Gets the target row handle. Inherited from DragEventArgsBase.

Remarks

You can use the DropRecord event to customize a drag-and-drop operation:

<dxg:GridControl>
   <!---->
   <dxg:GridControl.View>
      <dxg:TreeListView AllowDragDrop="True" DropRecord="OnDropRecord" />
   </dxg:GridControl.View>
</dxg:GridControl>
void OnDropRecord(object sender, DropRecordEventArgs e) {
   object data = e.Data.GetData(typeof(RecordDragDropData));
   foreach (Employee employee in ((RecordDragDropData)data).Records) {
      employee.Position = ((Employee)e.TargetRecord).Position;
      employee.Department = ((Employee)e.TargetRecord).Department;
   }
   if (e.DropPosition == DropPosition.Inside) {
      foreach(Employee employee in ((RecordDragDropData)data).Records) {
         employee.Position = "";
      }
   }
}

See the following example to learn more: How to: Manually Control Drag-and-Drop.

See Also