Category / Section
How to change the ValidationMode of the GridNumericColumn in WinForms DataGrid (SfDataGrid)?
1 min read
Change the validationmode
Validation for the entered value in a numeric column can be done at KeyPress or LostFocus. The default validation mode is KeyPress. You can change the validation mode to LostFocus in the OnInitializeEditElement method by overriding the numeric cell renderer.
C#
public Form1() { InitializeComponent(); sfDataGrid.CellRenderers["Numeric"] = new CustomNumericCellRenderer(); } public class CustomNumericCellRenderer : GridNumericCellRenderer { protected override void OnInitializeEditElement(DataColumnBase column, Syncfusion.WinForms.GridCommon.ScrollAxis.RowColumnIndex rowColumnIndex, Syncfusion.WinForms.Input.SfNumericTextBox uiElement) { base.OnInitializeEditElement(column, rowColumnIndex, uiElement); uiElement.ValidationMode = Syncfusion.WinForms.Input.Enums.ValidationMode.LostFocus; } }
VB
Public Sub New() InitializeComponent() sfDataGrid.CellRenderers("Numeric") = New CustomNumericCellRenderer() End Sub Public Class CustomNumericCellRenderer Inherits GridNumericCellRenderer Protected Overrides Sub OnInitializeEditElement(ByVal column As DataColumnBase, ByVal rowColumnIndex As Syncfusion.WinForms.GridCommon.ScrollAxis.RowColumnIndex, ByVal uiElement As Syncfusion.WinForms.Input.SfNumericTextBox) MyBase.OnInitializeEditElement(column, rowColumnIndex, uiElement) uiElement.ValidationMode = Syncfusion.WinForms.Input.Enums.ValidationMode.LostFocus End Sub End Class
Samples:
C#: ValidationMode
VB: ValidationMode
Reference link: https://help.syncfusion.com/windowsforms/datagrid/datavalidation