Защо се хвърля невалидна стойност?

Имам DevExpress TextEdit, който е свързан с данни към набор от данни.

Полето е незадължителен процент (тип данни double).

Когато записът се зареди и в полето няма стойност, всичко е наред.

Ако обаче въведете нещо в полето (IE 100) и след това искате да го премахнете след това, получавам грешка Невалидна стойност.

Защо се случва това и как мога да го премахна?

Нямам никаква маска или някакъв вид изрично валидиране на това поле.


person Nathan Koop    schedule 29.03.2010    source източник


Отговори (1)


Разреших това със съдействието на Brendon Muck във форумите на DevExpress.

Един от моите TextEdit беше обвързан със свойството Text вместо EditValue (всички трябва да бъдат обвързани с EditValue)

Също така според Брендън

Изтриването на текста от контролата TextEdit не задава полето на NULL. Ще трябва да обработите събитието EditValueChanged и ръчно да зададете стойността на нула, когато бъде открит празен низ.

И така, създадох метод за справяне с него

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))
person Nathan Koop    schedule 30.03.2010