none
Activar o desactivar checkBox en datagridView RRS feed

  • Pregunta

  • Hola feliz 14 de febrero!!!!!!

    En esta noche despues de pasar este dia especial me tope con un problema en C# con WinForm ya que necesito activar o desactivar los checbox de las filas de un datagridview de acuerdo a ciertos criterios, el problema es que no se como encontrar ese checkbox al momento de estar cargando el datagridView en asp.net en c# es algo asi para ya luego activarlo o desactivarlo.

    CheckBox chkPersona = ((CheckBox)(row.FindControl("chkPersona")));

    Pero para aplicaciones windows no se como hacerle ademas de no saber bien en que evento debo agregar el codigo.

    Quisiera me puedan ayudar, muchas gracias de antemano.

    miércoles, 15 de febrero de 2012 7:01

Respuestas

  • Para buscar controles dentro de un DataGridView puedes usar un código parecido a este:

    foreach(var row in miDataGrid.Rows )
    {
         foreach(var ctrl in row.Cells[el_indice_del_checkbox].Controls )
         {
              if(ctrl is CheckBox)
              {
                   var checkBox = (Checkbox)ctrl;
                   checkBox.Checked = un_valor_booleano;
              }
         }
    }

    Otra forma de cambiar los valores es "bindar" el dataSource y cambiarlos en ese origen de datos, en lugar de en el control...

    Un saludo,


    Fernanando Escolar - http://www.programandonet.com/ - @fernandoescolar

    miércoles, 15 de febrero de 2012 8:55
  • estas trabajando con celdas del tipo DataGridViewCheckBoxColumn ?

    porque si es asi no necesitas reconocer ningun checkbox como control, trabjas directo con el .Value de la celda

    si haces

    bool valor = Convert.ToBoolean(row.Cells[0].Value)

    directo si esa celda era d euan columan checkbox del datagridview el Value devuelve true/false segun este marcada o no

    tambien si haces

    row.Cells[0].Value = true;

    la marcarias

    Nota: row seria un DataGridViewRow valido

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 15 de febrero de 2012 12:15

Todas las respuestas

  • Para buscar controles dentro de un DataGridView puedes usar un código parecido a este:

    foreach(var row in miDataGrid.Rows )
    {
         foreach(var ctrl in row.Cells[el_indice_del_checkbox].Controls )
         {
              if(ctrl is CheckBox)
              {
                   var checkBox = (Checkbox)ctrl;
                   checkBox.Checked = un_valor_booleano;
              }
         }
    }

    Otra forma de cambiar los valores es "bindar" el dataSource y cambiarlos en ese origen de datos, en lugar de en el control...

    Un saludo,


    Fernanando Escolar - http://www.programandonet.com/ - @fernandoescolar

    miércoles, 15 de febrero de 2012 8:55
  • estas trabajando con celdas del tipo DataGridViewCheckBoxColumn ?

    porque si es asi no necesitas reconocer ningun checkbox como control, trabjas directo con el .Value de la celda

    si haces

    bool valor = Convert.ToBoolean(row.Cells[0].Value)

    directo si esa celda era d euan columan checkbox del datagridview el Value devuelve true/false segun este marcada o no

    tambien si haces

    row.Cells[0].Value = true;

    la marcarias

    Nota: row seria un DataGridViewRow valido

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 15 de febrero de 2012 12:15
  • Muchas por la ayuda me sirvio de mucho....
    jueves, 16 de febrero de 2012 18:46