detectar cambio valor checkbox en datagridview

Iniciado por BlaineMonkey, 10 Febrero 2010, 19:08 PM

0 Miembros y 1 Visitante están viendo este tema.

BlaineMonkey

Tengo un datagridview con varias columnas, una de las cuales contiene checkbox.

He añadido el evento CellValueChanged y me detecta los cambios que se hacen en las todas las columnas menos la checkbox. ¿Cual es el evento que detecta los cambios de estado de los checkbox del datagridview?


unjust63

CellValueChange sólo funciona cuando se trabaja en modo virtual con el DataGridView. Deberías hacer algo así:

Private Sub DBGrid2_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DBGrid2.CellClick
Select Case e.ColumnIndex
            Case 1 'o la columan que tenga el checkbox
                Dim Celda As DataGridViewCheckBoxCell = DBGrid2(e.ColumnIndex, e.RowIndex)
                Dim CE As CheckState = Celda.Value
                If CE = CheckState.Checked Then Celda.Value = CheckState.Unchecked Else Celda.Value = CheckState.Checked
        End Select

BlaineMonkey

Gracias por la ayuda pero esto cambia el valor haciendo click en cualquier sitio de la celda. Yo solo quiero que cambie cuando se cambia el estado del checkbox.

¿Cómo se puede hacer?

unjust63

No existe ningún evento que salte al cambiar el valor del checkbox en una columna de datagridview, al menos que yo sepa. La única forma de controlarlo es mediante los comandos que te comenté.

BlaineMonkey

Vale pues entonces lo haré de esa forma. Gracias por tu ayuda

seba123neo

en el evento CellContentClick preguntas si la celda es del tipo objecto DataGridViewCheckBoxCell, si es asi ahi haces lo que quieras...y en internet hay varios ejemplos de como hacerlo..
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson