Foros del Web » Programación para mayores de 30 ;) » .NET »

Windows Forms y CheckBox

Estas en el tema de Windows Forms y CheckBox en el foro de .NET en Foros del Web. Hola a todos, Hice una aplicacion hace un tiempo que está teniendo un mal comportamiento con los checkbox. Se trata de un datagrid, donde la ...
  #1 (permalink)  
Antiguo 07/06/2005, 05:16
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Windows Forms y CheckBox

Hola a todos,

Hice una aplicacion hace un tiempo que está teniendo un mal comportamiento con los checkbox.
Se trata de un datagrid, donde la ultima columna es tipo checkbox.
Mientras se deje en blanco o se deje marcado, no hay problemas. El problema viene si por accidente, el usuario deja el checkbox en ese tercer estado que tiene, que es como sombreado.

1 - ¿Para que sirve ese estado?

A raíz de dejar un checkbox en ese estado y luego, guardar los cambios, la aplicación tiene un comportamiento extraño, y cuando vuelvo a modificar el mismo checkbox, me saca una excepcion "La posicion ListManager debe ser igual a rowNum"

2 - ¿Puedo solucionarlo de algun modo?

Se me ha ocurrido, si existe la posiblidad, de eliminar ese tercer estado del checkbox, de forma que solo pueda estar Activado o Desactivado...

¿Será algun tipo de bug?

Gracias a todos.
__________________
..:: moNTeZIon ::..
  #2 (permalink)  
Antiguo 07/06/2005, 10:30
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Se que los checkbox tienen la propiedad ThreeState para indicarle si tiene 2 o 3 estados, pero por defecto está a false (solo 2 estados).

Por qué cuando el TableStyle del Datagrid es del tipo "DataGridBoolColumn" te pone un checkbox con tres estados? Hay alguna forma de pasarlo a dos estados?

Declarado de esta forma:

Dim TCFacturado As New DataGridBoolColumn

He probado de acceder a las propiedades de TCFacturado, pero no existe la propiedad "ThreeState" que existe en los checkbox normales...

Agrego que solo ocurre la excepcion en el siguiente caso:
Se pone en checkbox en el estado polémico (sombreado), y se hace el update del dataset. Hasta ahí bien. Se vuelve a poner el mismo checkbox en cualquiera de los otros dos estados y se vuelve a hacer el Update del dataset. Justo aqui es cuando peta.
En cambio, se puede estar cambiando los estados de los checkbox y haciendo los Updates las veces que se quiera mientras no se pongan en el estado polémico.

Tienen alguna sugerencia por favor?

Mil gracias!
__________________
..:: moNTeZIon ::..

Última edición por moNTeZIon; 07/06/2005 a las 10:54
  #3 (permalink)  
Antiguo 08/06/2005, 01:47
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Bueno, ya lo tengo.

Saqué la solucion de www.dotnet247.com

Cuando no se encuentra algo en español... hay que buscar en ingles, hay mucho mas...

Era simple, asignar la propiedad "AllowNull" del DataGridBoolColumn a "False", de forma que no acepte este estado polémico, que equivale a Nulo.

Saludos!
__________________
..:: moNTeZIon ::..
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:36.