Paginacion optimizada en ASP.NET

Nuestro buen amigo, Jorge Pedraza, ha escrito un interesante articulo, aquí el detalle:

Paginacion optimizada en ASP.NET

Hola, este articulo trata de resaltar un vía optima y fácil para generar mecanismo eficiente de paginación de datos en ASP.NET 4.0. Dicho mecanismo tiene como objetivo modular la información en bloques de datos especifico desde SQL Server hacia a la aplicación Web ASP.NET, de tal forma se procesa cantidades datos basado en indice numerico, los cuales entregarán información liviana y resumida dentro de la aplicación Web.

Con esto se evita la sobrecarga de grandes volúmenes de datos dentro de la respuesta Web de ASP.NET. Entonces a continuación se explica de forma precisa aspectos clave del artículo.

Parametros de Uso:

Nombre

Descripción

PageSize

Indica el número de registros que se van a mostrar en una página.

PageIndex

Indica el índice de la página que se muestra actualmente. El limite inferior para nuestro propósito es Cero.

RowCount

Indica la cantidad total de registros que se encuentra en la tabla.

PageCount

Indica el número total de páginas. PageCount = (RowCount + PageSize – 1) / PageSize

Requisito de entorno:

 

Campo

Función

Especificación

ID AutoNumerico

Row_Number

SQL Server Genérico

Si

No

SQL Server 2005 o Superior

Opcional

Si

Ejemplo Conceptual:

Nombre

ID

PageSize

PageIndex

PageCount

RowCount

Gustavo

1

10

0

2

20

Catherine

2

Kim

3

Humberto

4

Pilar

5

Frances

6

Margaret

7

Carla

8

Jay

9

Ronald

10

Samuel

11

10

1

James

12

Robert

13

François

14

Kim

15

Lili

16

Amy

17

Anna

18

Milton

19

Paul

20

Descripción del Mecanismo:

La idea principal de este mecanismo es paginar los datos desde el origen de datos SQL Server, a través de rutinas especificas contenida en el origen datos, que adicionalmente tambien nos entregara la cantidad total de paginas disponible por mostrar hacia la aplicación Web ASP.NET. Entonce para concretar:

  1. Se establece uno o más procedimiento almacenado en la base de datos de SQL Server:
    1. Este maneja dos parametros entradas ( @PageSize, @PageIndex) y uno de salida @PageCount.
    2. El algoritmo del procedimiento es una consulta de datos (SELECT) basado en cierta condición relacionada con un campo clave del tipo AutoNumerico.
    3. Este campo es llamado ID, el cual representa la forma de trabajar en modo SQL Server Genérico. En caso de no trabajar con este tipo de campo; se puede tomar como opción la función Row_Number disponible en SQL server 2005 o Superior, para generar ese campo de forma virtual.
    4. Dicho campo se usara en la condición de la consulta (SELECT) para fijar el resultado pautado. Por ejemplo: todos los ID que estén contenidos entre 1 y 10, como parte de primera pagina.
  2. Usa la Clase SqlDataReader dentro de la aplicación Web, para recibir el resultado de dicho procedimiento almacenado.
  3. Se vincula el Resultado del SqlDataReader con el control GridView
  4. A nivel de programación se crea una forma de paginación con el valor del parametro @PageCount fijado por el procedimiento dentro del proceso actual.

En Resumen:

Se puede apreciar una forma clara y precisa de generar procesos optimizado con la gestion de datos dentro de Aplicaciones Web ASP.NET, que a la final busca mejorara la disponibilidad de información en diferentes entornos limitado de recursos.

Codigo Fuente ASP.NET 4.0 y Base de datos SQL Server 2008 R2 Express:

Links de Interes:

Saludos

Fernando García Loera (MVP Lead – Latin America Region)

clip_image001[1]clip_image002clip_image004clip_image001[1]clip_image006clip_image008

Que es un MVP? Tips para ser MVP