Marcar un CheckBox de un DataGridView VB.Net

Disculpa la molestia, pero tengo una consulta y me gustaría poder contar con tu colaboración:
Ocurre lo siguiente... En tiempo de ejecución creo una columna de tipo checkbox para mi DataGrid, el cual ademas le agrego ciertos datos de una bd... Mi idea es que cuando cargue este DataGrid que algunas checkbox se marque si cumplen con cierta condición, esto es lo que básicamente hago:
Creo la columna tipo checkbox... La agrego al datagrid... Cargo el DataGrid... Hago editable el datagrid para poder marcar el checkbox... Y todo funciona bien... Pero la cuestión es que cuando intento que al cargar el datagrid aparezcan ciertas filas ya marcadas no lo hace:
Este es el código que uso para implementarlo:
  For Each Row As DataGridViewRow In DataGridCargarAlumno.Rows
            If Convert.ToString(Row.Cells(4).Value) = IdModificar Then 
                Row.Cells(0).Value = True
                Row.Cells(1).Value = "hola!!!"
            Else
                Row.Cells(0).Value = False
            End If
   Next
Recorro el Datagrid ... Pregunto que si el contenido de la columna 4 es igual al valor que toma la variable IdModificar... Si es así hago el Row. Cells(0). Value = true... Es decir que marque el checkbox de la columna 0, la otra fila era para probar... Y de hecho esto si lo hace... Cuando lo corro las filas que cumplen con la condición cambian el contenido de su columna 2 a "Hola!!!" Ahora no entiendo porque no me funciona!

2 Respuestas

Respuesta
2
Efectivamente, es así como debería funcionar, a lo mejor el indice que tienes no es el correcto.
Checa de esta otra forma, básicamente es lo mismo, pero siempre es bueno probar.
For i As Integer = 0 To Me.DataGridView1.Rows.Count - 1
            If DataGridView1.Rows(i).Cells(0).Value = True Then
                DataGridView1.Rows(i).Cells(0).Value = False
            Else
                DataGridView1.Rows(i).Cells(0).Value = True
            End If
Next
Hi... de nuevo yo! Gracias por responderme!
Fíjate... tome tu código y lo analice... y lo ajuste a lo que deseo hacer... no obstante hay algo que no comprendí de tu código... porque tu preguntas que el contenido del datagrid en la fila i en la columna 0 sea igual a true ... lo tildas en false... no deberíamos de tildarlo en true para que salga marcado...¿? ¿? ¿Esa dudita por un lado... por el otro y considerando el ajuste que hice (lo adjunto a continuación)
Dim variable As String
        For i As Integer = 0 To Me.DataGridCargarAlumno.Rows.Count - 1
            variable = DataGridCargarAlumno.Rows(i).Cells(4).Value
            MsgBox(variable)
            If variable = IdModificar Then
                DataGridCargarAlumno.Rows(i).Cells(0).Value = True
            Else
                DataGridCargarAlumno.Rows(i).Cells(0).Value = False
            End If
        Next
aca lo que intente hacer es asignarle el contenido del datagrid en la posicion i,0 (porque alli es donde cargo el IdGrupo) y luego esa variable la comparo con lo que trae IdModificar y como esta dentro del for hace la asignacion en cada corrida....  y te cuento... cuando kito el comentario no funciona en nada... se carga como si no le parara a esas lineas de codigo... pero si muestro el contenido de la variable entonces en cada MsgBox que sale se marca los checkbox cuando cumple la condicion ... pero cuando muestro el ultimo MsgBox los desmarca todos...ahh y el primer dato que muestro en el checkbox... siempre me aparece sin tildar... a pesar de que si entra en la condicion... supongo que es porque se sobreescribe... digo!!!!
Gracias y disculpa la molestia!
Saludos y Éxito
Lo que pasa es que el código que puse es simplemente de prueba, lo que hace es invertir los checks y en realidad si funciona.
Con todo esto, lo único que se me ocurre es que tendría que verlo más detalladamente, si puedes enviame tu código a [email protected]
Hola RaphSoft! Muchas gracias por responderme... tarde pero seguro... Igual te cuento que logre solventar el inconveniente... pero me tome el atrevimiento de agregarle a mi lista de correo! Si me aceptas te cuento que era lo que estaba haciendo mal...
Saludos y Éxito ... Nos veremos en el msn ... XD
Respuesta

Justo lo que necesitaba!.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas