Почему выбрасывается неверное значение? - PullRequest
2 голосов
/ 29 марта 2010

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

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

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

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

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

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

1 Ответ

4 голосов
/ 30 марта 2010

Я решил эту проблему с помощью Брендона Мука на форумах 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))
...