mobilecontrols-devexpress-dot-xamarinforms-dot-datagrid-dot-datagridview-0d7cb5f4.md
Occurs after a user changes a cell value in the in-place editor and attempts to select another cell.
Namespace : DevExpress.XamarinForms.DataGrid
Assembly : DevExpress.XamarinForms.Grid.dll
NuGet Package : DevExpress.XamarinForms.Grid
public event DataGridValidationEventHandler ValidateCell
The ValidateCell event's data class is DataGridValidationEventArgs. The following properties provide information specific to this event:
| Property | Description |
|---|---|
| ErrorContent | Gets or sets the validation error description. |
| FieldName | Gets the field name of the column that contains the cell whose value is being edited. |
| Item | Gets an object that specifies a data source record to which the grid’s row containing the currently edited cell corresponds. |
| NewValue | Gets the editor’s value. |
| OldValue | Gets the cell’s value before editing is started. |
| RowHandle | Gets the handle of the row that contains the cell whose value is being edited. |
This example shows how to validate a new cell value when a user modified it in an in-place cell editor and moves focus to another cell.
The DataGridView instance is bound to a collection of orders, and its Quantity column allows users to enter positive numbers only. If a new cell value does not pass validation, an error message is displayed and the user cannot move focus to another cell until the error is corrected.
Follow the steps below to validate cell values:
DataGridView.ValidateCell event, and implement validation logic in the event handler.ValidateCell event hander.<dxg:DataGridView x:Name="grid" ItemsSource="{Binding Orders}"
ValidateCell="Grid_ValidateCell"
ValidationError="Grid_ValidationError">
<!-- ... -->
</dxg:DataGridView>
using Xamarin.Forms;
using DevExpress.XamarinForms.DataGrid;
// ...
private void Grid_ValidateCell(object sender, DataGridValidationEventArgs e) {
if (e.FieldName == "Quantity" && (decimal)e.NewValue <= 0)
e.ErrorContent = "The value must be positive.";
}
private void Grid_ValidationError(object sender, ValidationErrorEventArgs e) {
DisplayAlert("Input Error", e.ErrorContent, "OK");
}
See Also