Perché valore non valido viene gettato?
-
23-09-2019 - |
Domanda
Ho una TextEdit DevExpress che è databound ad un set di dati.
Il campo è una percentuale facoltativa, (tipo di dati doppio).
Quando il disco viene caricato e non v'è alcun valore nel campo, è tutto a posto.
Tuttavia, se si digita qualcosa nel campo (IE 100) e quindi da rimuovere subito dopo, mi appare un valido valore di errore.
Perché si verifica, e come posso rimuoverlo?
Non ho alcuna maschera o qualsiasi tipo di convalida esplicito su questo campo.
Soluzione
Ho risolto questo con l'aiuto di Brendon Muck sui forum DevExpress.
Uno dei miei TextEdit di era destinato alla proprietà Text invece della EditValue (tutti dovrebbero essere tenuti ad EditValue)
Inoltre, per Brendon
L'eliminazione del testo fuori del controllo TextEdit non impostare il campo per NULL. Avresti per gestire l'evento EditValueChanged e impostare manualmente un valore nullo quando viene rilevata una stringa vuota.
Così, ho creato il metodo di gestire la cosa
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 nel mio gestore di eventi che uso:
SetTextEditToNull(CType(sender, TextEdit))