Problemas con los TabControls y CheckedListBox (BUUUUG¿?¿?¿?¿?¿?¿?¿)

02/06/2005 - 10:15 por Carlos O. M. | Informe spam
Buenos Dias / Tardes

Gracias, primero, por su atención.

Me encuentro con el siguiente problemas/duda que me trae de cabeza, y el
cual me está haciendo pensar que soy un "bicho raro". Tengo un TABControl,
con diferentes TabPage, y dentro de cada una, hay un CheckedListBox (las
cuales cargo gracias a un DataSet). Ok. Hasta aqui de P.T. madre. El
problema viene cuando, al seleccionar diferentes items en un CheckedList, y
cambiar de TabPage, al volver ha esta, la seleccion ha desaparecido.

Alguien ha sufrido lo mismo en sus "carnes"???

Alguna idea o ayuda al respecto...

Muchas Gracias.

Preguntas similare

Leer las respuestas

#1 Carlos O. M.
02/06/2005 - 12:41 | Informe spam
Buenos.. me autorespondo porque encontre la solucion y creo que puede serles
de ayuda en un futuro.

Ciertamente, si el DataSource del CheckedListBox se carga "atacando" a una
BBDD, existe dicho problema (supongo que puede ser un BUG) que los items
seleccionados desaparezcan entre TabPages. Para evitarlo (por que no hay
solucion, que yo sepa, vamos), hay que cargar los items del CheckedListBox,
a pedaletas, usando su coleccion Items.ADD(object)

Aqui tienen un enlace para que vena la solucion

http://www.codeproject.com/cs/combo...istBox.asp

Luego, al ifual que si lo hubieran cargado desde una BBDD, pueden utilizar
las propiedades ValueMember y DisplayMember para poder establecer los datos
que quieren que se muestren.

Un saludo.




"Carlos O. M." escribió en el mensaje
news:%
Buenos Dias / Tardes

Gracias, primero, por su atención.

Me encuentro con el siguiente problemas/duda que me trae de cabeza, y
el cual me está haciendo pensar que soy un "bicho raro". Tengo un
TABControl, con diferentes TabPage, y dentro de cada una, hay un
CheckedListBox (las cuales cargo gracias a un DataSet). Ok. Hasta aqui de
P.T. madre. El problema viene cuando, al seleccionar diferentes items en
un CheckedList, y cambiar de TabPage, al volver ha esta, la seleccion ha
desaparecido.

Alguien ha sufrido lo mismo en sus "carnes"???

Alguna idea o ayuda al respecto...

Muchas Gracias.


Respuesta Responder a este mensaje
#2 Tristan
02/06/2005 - 22:45 | Informe spam
Si, ya comenté hace unos dias, en los que hay situaciones en las que un
control que se encuentre en un contenedor distinto al formulario, en ciertas
situaciones, puede tener un comportamiento inesperado cuando se enlaza a
datos.

Pero hay un solución mejor que esa :-)

El problema se da a la hora de asignar de forma automática el BindingContext
del control. Puesto que la automática no funciona, basta con asignarla
manualmente.

Añade esta sentencia donde asignes el DataSource al CheckListBox:

TuCheckListBox.BindingContext = Me.BindingContext


Por ejemplo, prueba este código con un CheckedListBox que se encuentre en el
TabPage, verás la diferencia entre poner y quitar esa última línea.

Dim tabla As New DataTable
tabla.Columns.Add("nombre")
tabla.Columns.Add("apellidos")
tabla.Rows.Add(New Object() {"Pedro", "Sanchez Gonzalez"})
tabla.Rows.Add(New Object() {"Alberto", "Diez Gomez"})
Me.CheckedListBox1.DataSource = tabla
Me.CheckedListBox1.DisplayMember = "nombre"
Me.CheckedListBox1.BindingContext = Me.BindingContext ' <=

Juan Carlos Badiola
MVP - C#
Respuesta Responder a este mensaje
#3 Tristan
02/06/2005 - 22:47 | Informe spam
Ahhh, de paso creo que sirve para comprender una de las utilidades de la
propiedad BindingContext. El BindingContext es lo que mantiene la posición
actual de la fuente de datos.

Juan Carlos Badiola
MVP - C#
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida