如何验证从 devexpress 中的 gridview 弹出窗口中输入的数据
how to validate data being entered in pop-up from a gridview in devexpress
我在 DevExpress 中设置了一个网格视图,这样当我想向网格中添加一个项目时,就会弹出一个编辑表单。我想验证我在弹出表单中输入的数据。
我正在使用 ValidatingEditor
方法,因为我想确保
那些是数字字段的列,只接受数字和
接受字符串字段的列,只接受字符串。
我正在尝试通过这样做来访问已编辑的值:
gvTaxes.ActiveEditor.EditValue.ToString()
所以这将是
Private Sub gvTaxes_ValidatingEditor(sender As Object, e As BaseContainerValidateEditorEventArgs) Handles gvTaxes.ValidatingEditor
Dim strCurrentValue As String
If Not IsDBNull(gvTaxes.ActiveEditor.EditValue.ToString()) Then
strCurrentValue = gvTaxes.ActiveEditor.EditValue.ToString()
End If
我从 'if' 行收到 NullReferenceException 异常。有任何想法吗。
使用e.Value.ToString()
代替gvTaxes.ActiveEditor.EditValue.ToString()
:
If Not IsDBNull(e.Value.ToString()) Then
strCurrentValue = e.Value.ToString()
End If
在您的 gvTaxes_ValidatingEditor 中尝试此代码:
Dim view As GridView = TryCast(sender, GridView)
Dim d As Double
Dim strCurrentValue As String
If view.FocusedColumn.FieldName = "YourColumnName" Then
If Not Double.TryParse(Convert.ToDouble(e.Value).ToString(), d) Then
e.Valid = False
e.ErrorText = "the input value is invalid !"
Else
strCurrentValue = e.Value.ToString()
End If
End If
我在 DevExpress 中设置了一个网格视图,这样当我想向网格中添加一个项目时,就会弹出一个编辑表单。我想验证我在弹出表单中输入的数据。
我正在使用 ValidatingEditor
方法,因为我想确保
那些是数字字段的列,只接受数字和
接受字符串字段的列,只接受字符串。
我正在尝试通过这样做来访问已编辑的值:
gvTaxes.ActiveEditor.EditValue.ToString()
所以这将是
Private Sub gvTaxes_ValidatingEditor(sender As Object, e As BaseContainerValidateEditorEventArgs) Handles gvTaxes.ValidatingEditor
Dim strCurrentValue As String
If Not IsDBNull(gvTaxes.ActiveEditor.EditValue.ToString()) Then
strCurrentValue = gvTaxes.ActiveEditor.EditValue.ToString()
End If
我从 'if' 行收到 NullReferenceException 异常。有任何想法吗。
使用e.Value.ToString()
代替gvTaxes.ActiveEditor.EditValue.ToString()
:
If Not IsDBNull(e.Value.ToString()) Then
strCurrentValue = e.Value.ToString()
End If
在您的 gvTaxes_ValidatingEditor 中尝试此代码:
Dim view As GridView = TryCast(sender, GridView)
Dim d As Double
Dim strCurrentValue As String
If view.FocusedColumn.FieldName = "YourColumnName" Then
If Not Double.TryParse(Convert.ToDouble(e.Value).ToString(), d) Then
e.Valid = False
e.ErrorText = "the input value is invalid !"
Else
strCurrentValue = e.Value.ToString()
End If
End If