Hola Amigos, si te gusta los posts en mi blog, por favor sígueme en Twitter bajo @tmaoner para ver mis aportaciones.
Para
la mayoría de ustedes que leen mi blog, este post es bien simple, pero
créanme que muchos en la comunidad no lo sabían el día de hoy, por lo
tanto los posteo para que los que me pidieron que lo hicieran lo puedan
leer hoy en la noche y hacerlo funcionar en sus páginas.
El problema cae en lo siguiente, cuando tenemos un GridView y en una de las columnas manejamos un CheckBoxField varios
de los programadores con los que hable hoy no sabían cómo verificar del
lado de la programación al momento de recorrer el GridView si estaba Checked o no.
Es fácil poder verificarlo, primero que todo deben de recorrer el GridView , esto se hace de la siguiente forma usando un foreach :
foreach (GridViewRow grd_Row in this.grd_Items.Rows)
{
}
Si ven en el foreach vamos a utilizar GridViewRow para ir utilizando cada fila. Después de tener este foreach vamos a insertar en el el siguiente código:
CheckBox chk_Publicar = (CheckBox)grd_Row.Cells[6].Controls[0];
Lo que estamos hacienda acá es que vamos a declarar un CheckBox y en el mismo lo vamos a instanciar por medio de elegir la columna donde se encuentra el CheckBoxField y con el método Controls el cual le vamos a indicar que esta columna es especial.
Ya cuando tenemos nuestro CheckBox declarado, ya podemos hacer uso de el de forma normal, para verificar si esta Checked o no, ya pueden usar un simple if:
if (chk_Publicar.Checked)
{
// Codigo
}
else
{
// Codigo
}
Ya con esto, pueden hacer uso de cualquier CheckBoxField en un GridView. El código final, debe de quedarles algo parecido:
foreach (GridViewRow grd_Row in this.grd_Items.Rows)
{
CheckBox chk_Publicar = (CheckBox)grd_Row.Cells[6].Controls[0];
if (chk_Publicar.Checked)
{
// Codigo
}
else
{
// Codigo
}
}