A newer version of this page is available. Switch to the current version.

GridViewBase.RowCanceled Event

Occurs after changes made in a row have been discarded.

Namespace: DevExpress.Xpf.Grid

Assembly: DevExpress.Xpf.Grid.v20.2.dll


public event RowEventHandler RowCanceled

Event Data

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

Property Description
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.
RoutedEvent Gets or sets the RoutedEvent associated with this RoutedEventArgs instance. Inherited from RoutedEventArgs.
Row Gets the processed row.
RowHandle Gets the processed row’s handle.
Source Gets the View that raised the event.

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.


Changes made within a row can be discarded until the row is focused. The grid automatically posts changes to its data source after the row focus has been moved to another row.

End-users can discard changes made in a row by pressing ESC twice. Pressing ESC the first time closes the active editor, discarding all the changes made. The second pressing calls the IEditableObject.CancelEdit method, discarding changes (if any) made in other cells displayed within the edited row. As a result, the RowCanceled event is raised. The processed row and its handle are returned by the RowEventArgs.Row and RowEventArgs.RowHandle properties, respectively.


If the underlying data rows do not implement the IEditableObject interface, pressing ESC the second time does not discard changes.

See Also