Pergunta

Eu tenho um TextEdit do DevExPress, que é um banco de dados para um conjunto de dados.

O campo é uma porcentagem opcional (Datatype Double).

Quando o registro é carregado e não há valor no campo, está tudo bem.

No entanto, se você digitar algo no campo (ou seja, 100) e, em seguida, desejar removê -lo depois, recebo um valor inválido, erro.

Por que isso ocorre e como posso removê -lo?

Não tenho nenhuma máscara ou nenhum tipo de validação explícita neste campo.

Foi útil?

Solução

Eu resolvi isso com a assistência de Brendon Muck nos fóruns do Devexpress.

Um dos meus textos estava vinculado à propriedade de texto em vez do editValue (tudo deve estar vinculado ao EditValue)

Além disso, por Brendon

Excluir o texto do controle de texto não define o campo como NULL. Você teria que lidar com o evento EditValuechanged e definir manualmente o valor como nulo quando uma string vazia for detectada.

Então, eu criei o método para lidar com isso

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

E no meu manipulador de eventos, eu uso:

    SetTextEditToNull(CType(sender, TextEdit))
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top