2010-04-07 4 views
0

J'utilise le radgrid dans mon application web. Je veux éviter la récupération des enregistrements lorsque le bouton de pagination est cliqué sur le radgrid.Comment éviter la restauration des enregistrements lorsque l'on clique sur le bouton de pagination sur le radgrid

J'ai une méthode SetTodaysAlerts qui obtient près de 100 enregistrements et se lie à mon radgrid. La taille de la page du radgrid est 10, d'où les boutons First, Next, Previous et Last sont disponibles. Lorsque je clique sur le bouton suivant, comment puis-je éviter la réexécution des enregistrements?

FYI: J'utilise l'événement radgrid_NeedDataSource qui effectue à nouveau l'extraction de données lorsque l'utilisateur clique sur un bouton de navigation sur le radgrid.

Répondre

0

Fondamentalement, vous devez avoir une fonction qui compte le nombre total d'enregistrements pour la requête et une autre qui sélectionne uniquement ceux qui tombent dans la page en cours. Lorsque vous utilisez un RadGrid (en supposant AllowCustomPaging = true), vous devez d'abord compter le nombre total d'enregistrements et enregistrer la valeur dans la propriété VirtualItemCount de RadGrid.

maintenant dans le NeedDataSource qui est appelé le changement d'une page dont vous avez besoin pour calculer la plage d'enregistrements pour récupérer comme suit:

int firstRow = radGrid.CurrentPageIndex * radGrid.PageSize; 
int maxRow = radGrid.PageSize; 

et les passer ensuite dans votre requête, obtenir les résultats, faire un ensemble DataSource et un Rebind()

Questions connexes