none
Agregar una columna a un datagridview RRS feed

  • Pregunta

  • Mucho gusto, necesito agregar una columna a un datagridview que sea tipo checkbox, la información que muestro en las otras columnas del mismo dgv son extraídas desde la base de datos, el uso que le quiero dar a esa columan es cuando activen el checkbox proceda a cancelar el saldo de la factura, agradecería su ayuda soy nuevo en el foro,

    Saludos, 



    • Editado JSM87 jueves, 8 de noviembre de 2018 4:23
    jueves, 8 de noviembre de 2018 4:22

Respuestas

  • No dices si quieres agregar esa columna en tiempo de diseño o en ejecución.
    Si es en diseño tienes que asignar a esa columna el valor DataGridViewCheckBoxColumn en la propiedad ColumnType.

    Si es en tiempo de ejecución:

    Dim Chk As New DataGridViewCheckBoxColumn()
    DataGridView1.Columns.Add(Chk)
    Chk.HeaderText = "Check Data"
    Chk.Name = "ColumnaChk"
    DataGridView1.Rows(2).Cells("ColumnaChk").Value = True

    Para controlar los cambios en esa columna y efectuar las acciones correspondientes:

    Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

       If e.ColumnIndex = DataGridView1.Columns.Item("ColumnaChk").Index Then
           Dim chkCell As DataGridViewCheckBoxCell = DataGridView1.Rows(e.RowIndex).Cells("ColumnaChk")
           MsgBox ("Ahora el valor de la celda es " & chkCell.Value )
       End If

    End Sub


    Saludos, Javier J

    • Propuesto como respuesta Pablo Rubio jueves, 8 de noviembre de 2018 15:39
    • Marcado como respuesta JSM87 viernes, 9 de noviembre de 2018 3:57
    jueves, 8 de noviembre de 2018 7:50

Todas las respuestas

  • No dices si quieres agregar esa columna en tiempo de diseño o en ejecución.
    Si es en diseño tienes que asignar a esa columna el valor DataGridViewCheckBoxColumn en la propiedad ColumnType.

    Si es en tiempo de ejecución:

    Dim Chk As New DataGridViewCheckBoxColumn()
    DataGridView1.Columns.Add(Chk)
    Chk.HeaderText = "Check Data"
    Chk.Name = "ColumnaChk"
    DataGridView1.Rows(2).Cells("ColumnaChk").Value = True

    Para controlar los cambios en esa columna y efectuar las acciones correspondientes:

    Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

       If e.ColumnIndex = DataGridView1.Columns.Item("ColumnaChk").Index Then
           Dim chkCell As DataGridViewCheckBoxCell = DataGridView1.Rows(e.RowIndex).Cells("ColumnaChk")
           MsgBox ("Ahora el valor de la celda es " & chkCell.Value )
       End If

    End Sub


    Saludos, Javier J

    • Propuesto como respuesta Pablo Rubio jueves, 8 de noviembre de 2018 15:39
    • Marcado como respuesta JSM87 viernes, 9 de noviembre de 2018 3:57
    jueves, 8 de noviembre de 2018 7:50
  • Muchas gracias Javier J. agradezco tu tiempo por responder a mi duda, probare esas opciones, Saludos! 

    viernes, 9 de noviembre de 2018 3:58
  • Básicamente esto es lo que pretendo hacer pero estoy bloqueado 
    viernes, 9 de noviembre de 2018 4:15
  • ¿No has podido añadir la columna? Explica donde te quedas bloqueado.

    Saludos, Javier J

    viernes, 9 de noviembre de 2018 7:37