martes, 5 de mayo de 2009
Cambiar colores a un grid View
Ejemplo:
Todo esto se da con el evento RowDataBound
asi que capturenlo el evento del RowDataBound del griview como primer paso.
paso 2 agregue este if dentro del evento que acaba de capturar.
if (e.Row.RowType == DataControlRowType.DataRow)
{
}
tercero pongamos fondo para que señale que fila estan sobre ella para una mejor visibilidad.
para lograr eso agregue el siguiente codigo dentro del if de arriba.
e.Row.Attributes.Add("onmouseover", "this.originalcolor=this.style.backgroundColor;" & _" this.style.backgroundColor='yellow';")e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=this.originalcolor;")
Aquí ya logramos el un efecto visual util. ahora pongamos una condición.
Dentro del if DataControlRowType con el evento RowDataBound abajo de los colores
debe de capturar la fila que quiere analizar
string s = Convert.ToString(System.Web.UI.DataBinder.Eval(e.Row.DataItem, "status"));
luego un if para saber que color le queremos dar
if (s == "Denegado")
{
e.Row.BackColor = Color.red;
}
if (s == "Aprobado")
{
e.Row.BackColor = Color.Green;
}
Ejemplo Completo
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover",
"this.originalcolor=this.style.backgroundColor;" +
" this.style.backgroundColor='yellow';");
e.Row.Attributes.Add("onmouseout",
"this.style.backgroundColor=this.originalcolor;");
string s = Convert.ToString(System.Web.UI.DataBinder.Eval(e.Row.DataItem, "status"));
if (s == "Denegado")
{
e.Row.BackColor = Color.red;
}
if (s == "Aprobado")
{
e.Row.BackColor = Color.Green;
}
}
Tambien podriasmos poner una imagen dependiendo de una columna, en nuestro ejemplo, vamos a verificar si la celda cero tiene un valor mayor a cero pondra un icono de documento adjunto, al mismo tiempo reemplazara esta misma columna cero,todo esto tambien va en el evento RowDataBound.
int valor = Convert.ToInt32(e.Row.Cells[0].Text);
if (valor > 0)
{
HyperLink hlnk = new HyperLink();
//hlnk.NavigateUrl = "http://www.google.com";
hlnk.ImageUrl = "~/image/adjunto.gif";
e.Row.Cells[0].Controls.Add(hlnk);
}
else
{
HyperLink hlnk = new HyperLink();
hlnk.ImageUrl = "";
e.Row.Cells[0].Controls.Add(hlnk);
}
No esta demas recordarles si les gusta el tema y les sirve favor dejar comentario. = ) gracias.
No hay comentarios.:
Publicar un comentario