开发者

Why is invalid value being thrown?

开发者 https://www.devze.com 2022-12-24 07:45 出处:网络
I\'ve got a DevExpress TextEdit which is databound to a dataset. The field is an optional percentage, (datatype double).

I've got a DevExpress TextEdit which is databound to a dataset.

The field is an optional percentage, (datatype double).

When the record gets loaded and there is no value in the field, everything is fine.

However, if you type something into the field (IE 100) and then want to remove it afterwards, I get an Invalid Value, error.

开发者_如何学C

Why does this occur, and how can I remove it?

I do not have any mask or any sort of explicit validation on this field.


I have resolved this with the assistance of Brendon Muck on the DevExpress forums.

One of my TextEdit's was bound to the Text property instead of the EditValue (all should be bound to EditValue)

Also, per Brendon

Deleting the text out of the TextEdit control doesn't set the field to NULL. You'd have to handle the EditValueChanged event and manually set the value to null when an empty string is detected.

So, I have created method to handle it

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

And in my event handler I use:

    SetTextEditToNull(CType(sender, TextEdit))
0

精彩评论

暂无评论...
验证码 换一张
取 消