DataViewBase.DropRecord Event
Occurs when a record is dropped on the drop target element.
Namespace: DevExpress.Xpf.Grid
Assembly: DevExpress.Xpf.Grid.v21.2.Core.dll
Declaration
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. |
The event data class exposes the following methods:
Method | Description |
---|---|
GetRecordType() | Gets the Type of the transferred records. Inherited from DragEventArgsBase. |
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 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
Feedback