我在DevExpress中有一个gridview设置,所以当我想在网格中添加一个项目时,我会弹出一个编辑表单。我想验证我在弹出窗体中输入的数据。
我使用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
我从'我得到一个NullReferenceException异常。线。有任何想法吗。
答案 0 :(得分:0)
使用e.Value.ToString()
代替gvTaxes.ActiveEditor.EditValue.ToString()
:
If Not IsDBNull(e.Value.ToString()) Then
strCurrentValue = e.Value.ToString()
End If
答案 1 :(得分:0)
在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