14 Stimmen

ASP.NET MVC 3 WebGrid Paging Problem

Meine Datenzugriffsschicht gibt eine Sammlung mit Zeilen für eine einzelne Seite und die Gesamtzahl der Zeilen zurück.

Leider erlaubt das WebGrid-Komponente nicht, die Gesamtzahl der Zeilen oder die Gesamtzahl der Seiten anzugeben (diese Eigenschaften sind schreibgeschützt).

Hat jemand schon einmal mit diesem Problem zu tun gehabt?

22voto

Einar Arne Punkte 236

Sie können die Bind-Methode des WebGrid verwenden, um dem Raster mitzuteilen, dass Serverseitenpaging verwendet werden soll.

grdv.Bind(myData, rowCount=10000, autoSortAndPage=False)

Das Festlegen von autoSortAndPage auf false teilt dem Raster mit, dass myData nur ein Segment der Daten ist. Es zeigt alle Zeilen dieser Daten unabhängig von Ihren Seitengrößeneinstellungen an. Der Pager wird mit der rowCount erstellt, die Sie übergeben, und nicht mit der Anzahl der Datensätze in myData.

6voto

Martin Punkte 10901

EDIT: Ich verstehe jetzt, was deine Frage ist. Schau dir diesen Artikel an, um den WebGrid nicht zu verwenden.

Paging mit WebGrid

Von dieser Seite aus, scheint es, dass du die Zeilen pro Seite angeben kannst.

var grid = new WebGrid(source, rowsPerPage : 25);

Und diese Seite (sieh dir Zeile 9 vom ersten Code-Block an).

2voto

chenriks Punkte 121

RowsPerPage kann nur über den Konstruktor festgelegt werden. Dies wurde getan, um den Helfer einfach zu halten und komplexe Zustände zu vermeiden. Die Gesamtzahl der Zeilen stammt aus der Datenquelle.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X