Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: BlaineMonkey en 10 Febrero 2010, 19:08 pm



Título: detectar cambio valor checkbox en datagridview
Publicado por: BlaineMonkey en 10 Febrero 2010, 19:08 pm
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?



Título: Re: detectar cambio valor checkbox en datagridview
Publicado por: unjust63 en 10 Febrero 2010, 19:57 pm
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


Título: Re: detectar cambio valor checkbox en datagridview
Publicado por: BlaineMonkey en 11 Febrero 2010, 13:51 pm
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?


Título: Re: detectar cambio valor checkbox en datagridview
Publicado por: unjust63 en 11 Febrero 2010, 15:46 pm
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é.


Título: Re: detectar cambio valor checkbox en datagridview
Publicado por: BlaineMonkey en 11 Febrero 2010, 18:00 pm
Vale pues entonces lo haré de esa forma. Gracias por tu ayuda


Título: Re: detectar cambio valor checkbox en datagridview
Publicado por: seba123neo en 12 Febrero 2010, 01:27 am
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..