2

我有一个 DevExpress TextEdit,它是数据绑定到数据集的。

该字段是一个可选的百分比,(数据类型双精度)。

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

但是,如果您在字段 (IE 100) 中输入一些内容,然后想将其删除,我会收到 Invalid Value, 错误。

为什么会发生这种情况,我该如何删除它?

我对此字段没有任何掩码或任何类型的显式验证。

4

1 回答 1

4

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

我的 TextEdit 之一绑定到 Text 属性而不是 EditValue(都应该绑定到 EditValue)

此外,根据布伦登

从 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))
于 2010-03-30T12:59:38.197 回答