Principales respuestas
Activar o desactivar checkBox en datagridView

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.
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
- Propuesto como respuesta Santiago Ezequiel Rueda miércoles, 15 de febrero de 2012 15:18
- Marcado como respuesta Davidhsan jueves, 16 de febrero de 2012 5:22
-
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- Propuesto como respuesta Santiago Ezequiel Rueda miércoles, 15 de febrero de 2012 15:18
- Marcado como respuesta Davidhsan jueves, 16 de febrero de 2012 5:22
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
- Propuesto como respuesta Santiago Ezequiel Rueda miércoles, 15 de febrero de 2012 15:18
- Marcado como respuesta Davidhsan jueves, 16 de febrero de 2012 5:22
-
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- Propuesto como respuesta Santiago Ezequiel Rueda miércoles, 15 de febrero de 2012 15:18
- Marcado como respuesta Davidhsan jueves, 16 de febrero de 2012 5:22
-