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
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 Cell |
Column |
Gets a column that contains the edited cell.
Inherited from Cell |
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 Routed |
Old |
Gets the cell’s previous value. |
Original |
Gets the original reporting source as determined by pure hit testing, before any possible Source adjustment by a parent class.
Inherited from Routed |
Routed |
Gets or sets the Routed |
Row |
Gets the processed row.
Inherited from Row |
Row |
Gets the processed row’s handle.
Inherited from Row |
Source |
Gets or sets a reference to the object that raised the event.
Inherited from Routed |
Value |
Gets or sets the processed cell’s value.
Inherited from Cell |
The event data class exposes the following methods:
Method | Description |
---|---|
Invoke |
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 Routed |
On |
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 Routed |
#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 CellCell
event only if the template contains a Base
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.