Question

J'ai une procédure de magasin qui gère la pagination au niveau de la base de données, recevant @ PageSize et @ PageIndex . Je peux en créer un autre pour renvoyer @ PageCount , en fonction du format de la page.

Puis-je faire en sorte qu'une grille de données effectue une pagination au niveau de la base de données sans avoir à la développer en dehors du contrôle, à l'aide du pager de contrôle?

Il semble que l’utilisation par défaut de la pagination de la grille de données reçoive l’ensemble des résultats de la requête et la pagination en dehors de la base de données. Ce n'est pas bon pour nous, une surcharge inutile.

Était-ce utile?

La solution

Définissez AllowCustomPaging = " true " sur l'aspx. Et quand la liaison de données fait:

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

Sur la base de votre commentaire "J'utilise une connexion ADO, une commande, etc., et après le chargement des résultats dans une liste d'objets (mes classes d'entité), je crée datagrid.DataSource = List;"

".

Autres conseils

Si vous utilisez un contrôle ObjectDataSource en tant que DataSourceID du GridView, cela fonctionnera sans problème. Les contrôles ObjectDataSource ont quelques paramètres où vous pouvez indiquer les noms des propriétés PageIndex et MaxRows.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top