GridViewBase.CellValueChanged Event

Occurs when a cell value is changed.

Namespace: DevExpress.Xpf.Grid

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

Declaration

public event CellValueChangedEventHandler CellValueChanged

Event Data

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

Property Description
Cell Gets a processed cell. Inherited from CellValueEventArgs.
Column Gets a column that contains the edited cell. Inherited from CellValueEventArgs.
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.
OldValue Gets the cell’s previous value.
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. Inherited from RowEventArgs.
RowHandle Gets the processed row’s handle. Inherited from RowEventArgs.
Source Gets or sets a reference to the object that raised the event. Inherited from RoutedEventArgs.
Value Gets or sets the processed cell’s value. Inherited from CellValueEventArgs.

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

The View raises the CellValueChanged event in the following cases:

  • A user changes a cell value and closes the in-place editor.
  • You use the GridControl.SetCellValue method to change a cell value in code.

The code sample below shows how to update summary values each time a cell value is edited:

<dxg:GridControl AutoGenerateColumns="AddNew" 
                 EnableSmartColumnsGeneration="True" 
                 ItemsSource="{Binding Sales}">
    <dxg:GridControl.TotalSummary>
        <dxg:GridSummaryItem FieldName="UnitPrice" SummaryType="Sum"/>
    </dxg:GridControl.TotalSummary>
    <dxg:GridControl.View>
        <dxg:TableView CellValueChanged="view_CellValueChanged" />
    </dxg:GridControl.View>
</dxg:GridControl>  
private void view_CellValueChanged(object sender, DevExpress.Xpf.Grid.CellValueChangedEventArgs e) {
    view.CommitEditing();
}

The CellValueChanged event does not occur when you change a cell value in a data source.

The RowEventArgs.RowHandle and CellValueEventArgs.Column properties identify a cell whose value is changed. The CellValueEventArgs.Value property returns a new cell value.

Refer to the following topic for more information: Obtain and Set Cell Values in Code.

If you want to maintain a clean MVVM pattern and process cell value changes in a View Model, create a command and bind it to the CellValueChangedCommand property.

See Also