Pregunta

Tengo un procedimiento de almacenamiento que maneja la paginación a nivel de base de datos, recibiendo @ Tamaño de página y @ Índice de página . Puedo crear otro para devolver @ PageCount , dado un tamaño de página.

¿Puedo hacer que una cuadrícula de datos haga paginación a nivel de base de datos sin tener que desarrollarla fuera del control, utilizando el localizador de control?

Parece que el uso predeterminado de la paginación de cuadrícula de datos recibe todos los resultados de la consulta y realiza la paginación fuera de la base de datos. No es bueno para nosotros, una sobrecarga innecesaria.

¿Fue útil?

Solución

Establecer AllowCustomPaging = " true " en la aspx. Y cuando el enlace de datos haga:

mygrid.VirtualItemCount = pageCount; 
mygrid.DataSource = mysource; 
mygrid.DataBind();

Basado en su comentario " Uso conexión ADO, comando, etc., y después de cargar los resultados en una lista de objetos (mis clases de entidad), hago datagrid.DataSource = List; "

Otros consejos

Si usa un control ObjectDataSource como DataSourceID de GridView, entonces funciona de manera bastante fluida. Los controles ObjectDataSource tienen un par de parámetros donde puede indicarle los nombres de las propiedades PageIndex y MaxRows.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top