GridViewBase.CellValueChanged Event
Occurs when a cell value is changed.
Namespace: DevExpress.Xpf.Grid
Assembly: DevExpress.Xpf.Grid.v24.2.dll
NuGet Package: DevExpress.Wpf.Grid.Core
Declaration
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.
Note
When you use a custom CellTemplate, the GridControl raises the CellValueChanged
event only if the template contains a BaseEdit class descendant declared as demonstrated in the following topic: Custom In-Place Cell Editors.
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.
Related GitHub Examples
The following code snippets (auto-collected from DevExpress Examples) contain references to the CellValueChanged event.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.