none
Controlar un checkBox en un DataGridView RRS feed

  • Pregunta

  • Hola de nuevo, estoy recorriendo las filas de un DataGridView para comprobar un una columna (que es un checkBox) esta a true, pero me sale la siguiente excepción:

    ¿Tenéis alguna sugerencia para controlar este error?

    Un saludo.

    viernes, 24 de julio de 2015 13:36

Respuestas

  • Lo que vas a convertir es su valor

    If Convert.ToBoolean(dgv.Rows(i).Cells("chkEnviar").Value) Then
    

    el  = True, es redundante.

    • Marcado como respuesta rbs61 viernes, 24 de julio de 2015 15:49
    viernes, 24 de julio de 2015 14:19
  • Hola rbs61,

    Puedes recorrrer el objeto DGV con un foreach de manera más fácil y utilizar una lista en vez de un vector.

    Dim lista As New List(Of [String])()
    
    For Each row As DataGridViewRow In dgv.Rows
    	If Convert.ToBoolean(row.Cells("chkEnviar").Value) Then
    		lista.Add(row.Cells("gvEMail").Value)
    	End If
    Next

    Si la solución propuesta atendió su consulta no olvide marcarla como respuesta.

    Willams Morales
    Arequipa - PERÚ

    • Marcado como respuesta rbs61 viernes, 24 de julio de 2015 15:49
    viernes, 24 de julio de 2015 15:13

Todas las respuestas

  • Lo que vas a convertir es su valor

    If Convert.ToBoolean(dgv.Rows(i).Cells("chkEnviar").Value) Then
    

    el  = True, es redundante.

    • Marcado como respuesta rbs61 viernes, 24 de julio de 2015 15:49
    viernes, 24 de julio de 2015 14:19
  • Gracias AlterEgo22, tu respuesta me ha funcionado, pero ahora me sale lo siguiente:

    ¿por qué?, la matriz esta declarada, y la columna ya tiene su valor.

    viernes, 24 de julio de 2015 14:30
  • Hola rbs61,

    Puedes recorrrer el objeto DGV con un foreach de manera más fácil y utilizar una lista en vez de un vector.

    Dim lista As New List(Of [String])()
    
    For Each row As DataGridViewRow In dgv.Rows
    	If Convert.ToBoolean(row.Cells("chkEnviar").Value) Then
    		lista.Add(row.Cells("gvEMail").Value)
    	End If
    Next

    Si la solución propuesta atendió su consulta no olvide marcarla como respuesta.

    Willams Morales
    Arequipa - PERÚ

    • Marcado como respuesta rbs61 viernes, 24 de julio de 2015 15:49
    viernes, 24 de julio de 2015 15:13
  • Uff, Gracias Willams, así me funciona, pero luego para recorrer la lista, como se hace?.  Perdonad mi ignorancia, pero no he utilizado las listas.
    viernes, 24 de julio de 2015 15:23
  • Hola rbs61,

    De igual manera que recorrer el objeto DGV puedes hacerlo con la lista.

    For Each email As String In lista
      'la variable email obtiene un elemento de la lista por cada iteración.
    Next

    Si la solución propuesta atendió su consulta no olvide marcarla como respuesta.

    Willams Morales
    Arequipa - PERÚ


    viernes, 24 de julio de 2015 15:28
  • Muchas gracias, Willams.

    Me sirvió perfectamente.

    He de decir que la respuesta de  AlterEgo 22 me resolvió parte del problema (de nuevo Gracias)

    Así es que no sé si puedo marcar las dos respuestas como buenas...

    viernes, 24 de julio de 2015 15:49
  • Hola rbs61,

    Puedes marcar todas las respuestas que te hayan ayudado a cumplir con la resolución de tu requerimiento. Recuerda que este foro lo visitan muchos desarrolladores y si alguien lee tu post, con la marca que realizas lo ayudarás a determinar que respuestas ayudaron a resolver el problema.

    viernes, 24 de julio de 2015 15:59