Почему выбрасывается недопустимое значение?

У меня есть DevExpress TextEdit, который привязан к набору данных.

Поле представляет собой необязательный процент (тип данных double).

Когда запись загружается и в поле нет значения, все в порядке.

Однако, если вы введете что-то в поле (IE 100), а затем захотите удалить его, я получаю сообщение об ошибке «Недопустимое значение».

Почему это происходит и как это убрать?

У меня нет маски или какой-либо явной проверки в этом поле.


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


Ответы (1)


Я решил эту проблему с помощью Брендона Мака на форумах DevExpress.

Один из моих 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))
person Nathan Koop    schedule 30.03.2010