wie Sie Paging auf eine Liste anwenden

9

Ich habe eine Funktion, die Daten aus der Datenbank abruft und sie der Liste hinzufügt. Meine Liste ist fertig und zeigt die Daten, aber ich möchte auf dieser Liste paging, so dass es begrenzte Datensätze pro Seite zeigt. aber keine Ahnung, wie man das macht.
Hier ist mein Code dieser Datenschichtfunktion.

%Vor%

Und das ist für die DTO-Klasse ..

%Vor%

Bitte hilf mir. Danke.

    
vidhi 26.01.2014, 10:10
quelle

3 Antworten

18

Sie können eine Liste mit LINQ wie folgt blättern:

%Vor%

Angenommen, jede Seite hat 50 Datensätze. Um eine dritte Seite zu erhalten, rufen Sie

auf %Vor%

Beachten Sie jedoch, dass das Anwenden von Paging auf Daten im Speicher wenig sinnvoll ist: Die Idee hinter Paging besteht darin, die Zeit zu verkürzen, die zum Abrufen Ihrer Daten aus der Datenbank benötigt wird, und etwas Speicher zu sparen, indem nur ein einziger Speicher beibehalten wird Seite, die in Ihrem Fall nicht passieren wird, weil alle Daten auf einmal abgerufen werden.

Um Paging die Mühe wert zu machen, müssen Sie es in die Datenbank verschieben. Ändern Sie Ihre Methode, um Seitengröße und -zahl zu akzeptieren, und verwenden Sie sie, um die SQL zu ändern, um die Liste für eine einzelne Seite abzurufen. Vergessen Sie nicht, die Bestellung auf Ihrer SQL-Seite zu erzwingen, sonst können dieselben Daten auf verschiedenen Seiten erscheinen. Ihr SQL muss geändert werden, um die Paginierung zu unterstützen. Dies geschieht abhängig von Ihrer Datenbank. Die MS SQL Server-Lösung wird in dieser Antwort beschrieben .

    
dasblinkenlight 26.01.2014, 10:16
quelle
1
%Vor%

Versuchen Sie, dieses zu verwenden. Bessere Erklärung in dieser Frage Paging mit LINQ für Objekte

    
BorHunter 26.01.2014 10:14
quelle
1

Skip und %Co_de% Erweiterungsmethoden entspricht Ihren Bedürfnissen.Ich weiß nicht, wie ist Ihr Seitenstruktur, aber Sie können eine einfache for-Schleife verwenden, um Werte wie folgt zu erhalten:

%Vor%     
Selman Genç 26.01.2014 10:14
quelle

Tags und Links