我有一个DevExpress TextEdit,可以数据绑定到数据集。
该字段是可选百分比,(数据类型为double)。
当记录加载并且字段中没有值时,一切都很好。
但是,如果你在字段中键入内容(IE 100)然后想要删除它,我会得到一个无效值,错误。
为什么会发生这种情况,如何将其删除?
我在这个字段上没有任何掩码或任何形式的显式验证。
答案 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))