Skip to main content

GridViewBase.RowCanceled Event

Occurs when the changes made in a row are discarded.

Namespace: DevExpress.Xpf.Grid

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

NuGet Package: DevExpress.Wpf.Grid.Core


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.


You can discard changes made within a row while the row is focused. The GridControl updates the data source when the row focus is moved to another row.

To discard changes, press ESC twice. Press ESC the first time to close the editor and discard all the changes made in the current cell. Then press ESC again to call the IEditableObject.CancelEdit method that discards changes made in other cells of the focused row.

The RowCanceled event occurs when you press ESC the second time. The RowEventArgs.Row and RowEventArgs.RowHandle properties return the processed row and the row’s handle, respectively.


If a data item class does not implement the IEditableObject interface, you can discard changes only in the focused cell.

If you want to maintain a clean MVVM pattern and process the row edit discard operation in a View Model, create a command and bind it to the RowCanceledCommand property.

Refer to the following topic if you want to cancel changes made within a row asynchronously: UpdateRowResult.

See Also