locked
checar y deschecar checkbox en datagridview RRS feed

  • Pregunta

  • saludos, tengo un datagridview con un checkbox adentro ,lo que quiero hacer es que cuando se seleecione un check , si existe algún checkbox marcado se desmarque, de manera qeu solo quede uno marcado cada vez

    gracias

     
    jueves, 8 de septiembre de 2016 13:07

Respuestas

Todas las respuestas

  • hola

    vas a tener que recorrer las rows

    foreach(var row in DataGridView1.Rows){
    
        rows.Cells["nombrecolcheck"].Value = chkAll.Checked;
    
    }


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    jueves, 8 de septiembre de 2016 13:47
  • hola

    vas a tener que recorrer las rows

    foreach(var row in DataGridView1.Rows){
    
        rows.Cells["nombrecolcheck"].Value = chkAll.Checked;
    
    }


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    hola , gracias, en que evento

    Nota es ecodigo da error de sintaxis.

    jueves, 8 de septiembre de 2016 13:55
  • Hola palermo_software

    podrías recorrer tu datagridview luego de dar check y asignar el defaultvalue = false a el resto checkboxs que tengas.

    Saludos y suerte

     

    Javier

    jueves, 8 de septiembre de 2016 13:57
  • Hola palermo_software

    podrías recorrer tu datagridview luego de dar check y asignar el defaultvalue = false a el resto checkboxs que tengas.

    Saludos y suerte

     

    Javier

    hola gracias, en que evento podria hacerlo?
    jueves, 8 de septiembre de 2016 13:58
  • Podrías hacerlo en el evento de tu datagridview cellclick o en el evento dataGridView1_CellValueChanged

    Javier


    jueves, 8 de septiembre de 2016 14:12
  • Puedes revisar el post de Leandro dónde explica el tema.

    Uso del CheckBox en Datagridview


    Javier

    jueves, 8 de septiembre de 2016 14:21
  • tengo un codigo en VB.Net para que los check box del datagridview funcionen como radiobuttons supongo que lo puedes traducir al C#

        Private Sub DataGridView1_CurrentCellDirtyStateChanged(sender As Object, e As System.EventArgs) Handles DataGridView1.CurrentCellDirtyStateChanged
            Dim DTGV As DataGridView = sender
            Dim PrimerCheck As Integer = 0 'numero de columna del primer checkbox
            Dim SegundoCheck As Integer = 1'numero de columna del segundo checkbox
            If DTGV.IsCurrentCellDirty Then
                DTGV.CommitEdit(DataGridViewDataErrorContexts.Commit)
                Dim fila As Integer = DTGV.CurrentRow.Index
                If DTGV.CurrentCell.ColumnIndex = PrimerCheck Then
                    If DTGV.Item(PrimerCheck, fila).Value = True Then
                        DTGV.Item(SegundoCheck, fila).Value = False
                    Else
    
                    End If
                ElseIf DTGV.CurrentCell.ColumnIndex = SegundoCheck Then
                    If DTGV.Item(SegundoCheck, fila).Value = True Then
                        DTGV.Item(PrimerCheck, fila).Value = False
                    Else
    
                    End If
                End If
            End If
        End Sub


    si tienes mas checkbox tienes que poner mas condiciones y un poco mas de codigo.

    tambien si cambiaste los valores de "FalseValue" y "TrueValue" en el codigo tienes que cambiar los valores de True y False por los correspondientes

    • Propuesto como respuesta RHCRD jueves, 8 de septiembre de 2016 15:16
    • Editado RHCRD jueves, 8 de septiembre de 2016 15:18
    jueves, 8 de septiembre de 2016 15:14