checkbox

28/03/2005 - 14:49 por andres | Informe spam
hola, mi problema es que todo funciona bien hasta que enlazo el checkbox al
dataset en diseño, entonces ya el addnew no me limpia los campos y va mucho
mas lento.¿a que propiedad del databindings tengo que enlazar el dataset del
checkbox (text,checked,checkedstate,tag...) no tengo ni idea, el caso es que
lo desenlazo y todo vuelve a funcionar bien.¿alguna idea?

gracias de antemano
 

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
28/03/2005 - 15:32 | Informe spam
Hay veces en que el binding solo no puede manejar los NULLs y este es uno de
esos casos. Para solucionar el problema deberas usar el evento Format del
binding. Este evento permite cambiar el valor de la data que se pasa al
control. Por ejemplo, enlazas la data con la propiedad Checked del checkbox
y luego haces asi:

Private Sub OnFormLoad(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

'

AddHandler MiCheckBox.DataBindings("Checked").Format, AddressOf
FormatBooleanBinding

End Sub


Private Sub FormatBooleanBinding(ByVal sender As Object, ByVal e As
System.Windows.Forms.ConvertEventArgs)

If e.DesiredType Is GetType(Boolean) Then

' Usar FALSE si el campo es NULL

If e.Value Is DBNull.Value Then
e.Value = False
End If

End If

End Sub

Si necesitas hacer la conversion inversa, es decir, cambiar la data que el
control le pasa al datatable, utiliza el evento Parse.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
https://mvp.support.microsoft.com/p...4EF5A4191C

Preguntas similares