Para empezar, utilizaremos la base de datos Northwind, en esta existe una tabla llamada Products. vamos a generar un Store procedure que obtenga los productos que serán vistos en cada una de las paginas de la grilla:
Como ven, el Store Procedure tiene 2 parámetros de entrada y uno de salida, a continuación explico para que es cada uno de estos parámetros:
- @PageStartIndex : nos sirve para saber el ultimo registro de la pagina actual.
- @PageSize: nos sirve para saber la cantidad de registros que serán devueltos por pagina.
- @ProductCount : nos sirve para devolver un contador de la cantidad total de registros existentes en la tabla Products.
No voy a explicar en detalle lo que hace el Store procedure, ya que no es complejo de entender, con la imagen creo que basta.
ahora pasamos a utilizar el VS2008, en este paso utilizaremos LinQ , la grilla de asp.net,y un object data source.
Con LinQ haremos lo siguiente:
1- Agregamos un archivo dbml de linq que represente nuestra base de datos nortwind.
2- Agregamos nuestra tabla Products y el Store procedure que generamos anteriormente:
en las propiedades del dbml dejamos lo siguiente:
luego en un webform agregamos nuestra grilla y object data source:
3- generamos 2 métodos públicos, uno se utilizara para llenar la grilla y el segundo para saber la cantidad total de registros en nuestra tabla Products.
En nuestro WebForm configuramos nuestro object datasource y grilla de la siguiente forma:
ahora podemos ejecutar nuestro webform y tendremos una grilla que maneja paginado por medio de un store procedure:
Bueno eso es todo, si necesitan el proyecto de ejemplo solo comenten y hagan el pedido de este.