12 octubre 2006

Añadir sumarios a un GridView ASP Net 2.0

En este post intentaré explicar cómo añadir sumarios a cualquier columna de un GridView. Estos sumarios pueden ser totales de una o más columnas o simplemente un texto.
En el ejemplo lo que haremos será:
  1. Incluir un sumario de texto a una columna
  2. Incluir una sumatoria de una columna.

Para ello primero tenemos que modificar la propiedad ShowFooter del GridView a True ya que por defecto está a False.


Simplemente con esto ya le hemos indicado al GridView que muestre una fila para los sumarios.
Ahora toca modificar el código, en el evento RowDataBound del GridView es donde lo incluiremos. Este evento se dispara cuando se crea el Header, Footer y por cada Row de la consulta asociada al GridView.
Para saber, dentro de este evento, porqué se ha disparado, contamos con la propiedad RowType del argumento e del evento. El código sería el siguiente:


Pasos:

  1. Declaramos una variable privada a nivel del módulo para acumular el total de la columna deseada.
  2. Si el RowType del argumento e es DataRow entonces acumularemos el total. Para poder recoger el valor de la row debemos declarar una variable del tipo DataRowView para poder acceder a los valores del GridView y poder así realizar los cálculos pertinentes.
  3. Si el RowType del argumento e es del tipo Footer, entonces asignaremos a la primera columna un literal como "Totales" y a la segunda columna le asignaremos nuestra variable privada que contiene el acumulado.

Resultado:

Ya saben, si tienen alguna duda dejar un comentario.

2 comentarios:

Anónimo dijo...

Excelente articulo felicidades y sigue adelante con tu blog, saber me gustaria que me agregaras al msn. saludos

Felipe Santana dijo...

Gracias, si te digo que no uso msn ni ningún otro programa de este tipo, por dios estoy desfasado. Si quieres hacerme alguna cuestión puedes hacerla en el blog. Por cierto habrás leido el post en el que comento que lo he mudado a http://netcodigo.webinfo.es