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:
- Se establece uno o más procedimiento almacenado en la base de datos de SQL Server:
- Este maneja dos parametros entradas (@PageSize, @PageIndex) y uno de salida @PageCount.
- El algoritmo del procedimiento es una consulta de datos (SELECT) basado en cierta condición relacionada con un campo clave del tipo AutoNumerico.
- 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.
- 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.
- Usa la Clase SqlDataReader dentro de la aplicación Web, para recibir el resultado de dicho procedimiento almacenado.
- Se vincula el Resultado del SqlDataReader con el control GridView
- 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: