为什么抛出无效值?

时间:2010-03-29 18:50:43

标签: devexpress textedit

我有一个DevExpress TextEdit,可以数据绑定到数据集。

该字段是可选百分比,(数据类型为double)。

当记录加载并且字段中没有值时,一切都很好。

但是,如果你在字段中键入内容(IE 100)然后想要删除它,我会得到一个无效值,错误。

为什么会发生这种情况,如何将其删除?

我在这个字段上没有任何掩码或任何形式的显式验证。

1 个答案:

答案 0 :(得分:4)

我已经在DevExpress论坛的Brendon Muck的帮助下解决了这个问题。

我的一个TextEdit绑定到Text属性而不是EditValue(所有都应绑定到EditValue)

另外,根据Brendon

  

从TextEdit控件中删除文本不会将该字段设置为NULL。您必须处理EditValueChanged事件,并在检测到空字符串时手动将值设置为null。

所以,我已经创建了处理它的方法

Private Sub SetTextEditToNull(ByVal sender As TextEdit)

    If String.IsNullOrEmpty(sender.EditValue.ToString.Trim()) And (Not sender.EditValue Is DBNull.Value) Then

        sender.EditValue = DBNull.Value

    End If

End Sub

在我的事件处理程序中,我使用:

    SetTextEditToNull(CType(sender, TextEdit))