Modificar contenido de GridView en tiempo de ejecución en ASP.Net C#

Modificar contenido de GridView en tiempo de ejecución en ASP.Net C# es posible desde el servidor aplicando una propiedad del control Grid.

Este método es útil para la presentación de los datos al usuario que no puede ser definido antes de la ejecución de la aplicación.

¿Qué podemos modificar del GridView desde el servidor?

  • Color de letra y fondo.
  • Contenido de las celdas.
  • Visibilidad de columnas.
  • Visibilidad de celdas.
  • Agregar contenido HTML.

Para realizar esta tarea nos basaremos en el código realizado en el post anterior de cargar datos en GridView.

Contenido en página .aspx

En la página aspx es necesario agregarle la propiedad OnRowDataBound y asignarle el nombre del método al que se llamara.

El código en la página .aspx quedaría de la siguiente manera:

<asp:GridView ID="gvTablaUno" runat="server" AutoGenerateColumns="false" OnRowDataBound="gvTablaUno_RowDataBound">
    <Columns>
        <asp:BoundField DataField="Numero" HeaderText="Numero" />
        <asp:BoundField DataField="NombreCompleto" HeaderText="Nombre completo" />
    </Columns>
</asp:GridView>

En el código anterior estamos agregado la propiedad OnRowDataBound.

El nombre del método del servidor que llamaremos es gvTablaUno_RowDataBound.

Podría interesarte Consultar a SQL Server desde ASP.Net C#  

Contenido del código C#

Abrimos la clase de la página .aspx para trabajar con el código C# y creamos un método con el nombre asignado en el OnRowDataBound.

protected void gvTablaUno_RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{
}

Es posible que al momento de agregar la propiedad OnRowDataBound se generara el método anterior automáticamente.

Si no fue agregado debemos agregarlo tal cual, como el código anterior, cambiando únicamente el nombre del método con el que agregaron.

Modificación del contenido del GridView

Realizaremos algunas modificaciones al contenido del grid en tiempo de ejecución.

Ejemplo 1.

Primero cambiaremos el color a una fila, con el código siguiente podemos realizar el cambio de color:

e.Row.BackColor = Color.Red;

Con el código anterior cambiaremos el color a todas las filas, podemos especificar a qué fila mediante in IF.

if (e.Row.Cells[0].Text == "2")
{
    e.Row.BackColor = Color.Red;
}

De esta forma solo cambiaremos el color de la celda que en la columna número tenga el valor de 2.

Modificar contenido de GridView en tiempo de ejecución en ASP.Net C#

Podría interesarte Modificar datos de un DataTable en C#  

Ejemplo 2.

Así como el color de las filas o celdas, es posible cambiar el contenido de una celda, con el código siguiente podemos realizarlo.

e.Row.Cells[1].Text = e.Row.Cells[1].Text +" - Revolucionario";

Con este código cambiaremos el contenido de todas las filas agregando la palabra “Revolucionario”, sin eliminar contenido.

También podemos definir filtros mediante un IF para cambiar alguna celda en particular.

if (e.Row.Cells[0].Text == "3")
{
    e.Row.Cells[1].Text = e.Row.Cells[1].Text +" - Revolucionario";
}

De esta manera solo agregamos contenido a la celda que en la columna Numero sea igual a 3.

Modificacion de contenido de GridView

Con estos dos ejemplos podemos observar la modificación de un GridView desde el servidor en tiempo de ejecución.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *