我有一个 DevExpress TextEdit,它是数据绑定到数据集的。
该字段是一个可选的百分比,(数据类型双精度)。
当记录被加载并且字段中没有值时,一切都很好。
但是,如果您在字段 (IE 100) 中输入一些内容,然后想将其删除,我会收到 Invalid Value, 错误。
为什么会发生这种情况,我该如何删除它?
我对此字段没有任何掩码或任何类型的显式验证。
我有一个 DevExpress TextEdit,它是数据绑定到数据集的。
该字段是一个可选的百分比,(数据类型双精度)。
当记录被加载并且字段中没有值时,一切都很好。
但是,如果您在字段 (IE 100) 中输入一些内容,然后想将其删除,我会收到 Invalid Value, 错误。
为什么会发生这种情况,我该如何删除它?
我对此字段没有任何掩码或任何类型的显式验证。
我在 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))