2009-11-06 6 views
0

Hai les gars, J'ai près de 20 pages dans mon site Web .... Chaque page a une grille qui a des milliers d'enregistrements lier à elle ... Maintenant, je veux mettre en œuvre la pagination personnalisée à toutes ces grilles .... les gars certains peuvent donner une classe qui peut être la pagination réutilisable pour toutes les pagesMise en œuvre de la pagination numérique avec asp.net

Répondre

2

Vous n'allez pas vraiment obtenir une taille unique pour tous, c'est pourquoi c'est appelé pagination personnalisée.

Juste un guide approximatif sur la façon dont j'ai implémenté ceci dans le passé.

Conservez le numéro de page quelque part Querystring/session/Où

Lorsque vous appelez votre méthode de données/procédure stockée pour demander le passage de données dans le numéro de page et de la quantité d'enregistrements par page que vous voulez. Si vous avez stocké une procédure/une méthode de données pour ne renvoyer que des enregistrements dans ces limites, vous devrez également renvoyer le nombre total d'enregistrements pour que l'application sache combien de pages il y a.

Voici simple exemple de la façon dont vous pourriez obtenir pagination dans vos procédures stockées utilisant SQL2005/2008 (un peu plus pour en 2000)

CREATE PROCEDURE GetTowns 
(
@OutTotalRecCount INT OUTPUT, 
@CurrentPage INT, 
@PageSize INT 
) 
AS 

    SELECT * FROM  
    (
    SELECT 
     ROW_NUMBER() OVER (ORDER BY TownName) AS Row, 
     TownId, 
     TownName 
    FROM Towns 
    ) AS TownsWithRowNumbers 
    WHERE Row >= (@CurrentPage - 1) * @PageSize + 1 AND Row <= @CurrentPage*@PageSize 

    SELECT @OutTotalRecCount = COUNT(*) FROM Towns 
+0

Hai gavin merci pour ur réponse ... J'ai déjà écrit ce procédure je veux seulement codage C# pour geneate linkbuttons montrant page nos .... –

+0

Il existe un exemple de base de certains code VB, vous pouvez facilement convertir pour contrôler les boutons de lien ici http://www.c-sharpcorner.com/UploadFile/ sd_patel/CustomPagingInDataGrid11232005232703PM/CustomPagingInDataGrid.aspx – Gavin

+0

Hai Gavin votre procédure m'a beaucoup aidé et je veux utiliser ces liens de pagination d'émission de données en utilisant C# et je préfère la pagination de débordement de pile ..... –

0

ne suis pas sûr une « classe », mais voici quelques liens:

.NET 3.5

.NET 2.0

p.s. Si vous utilisez DataSet en tant que DataSource, la pagination et le tri sont pris en charge dès la sortie de la boîte.