Wie Sie gesehen haben, bietet Bootgrid keine integrierte Möglichkeit, die aktuelle Seite noch zu ändern. Sie können es jedoch erweitern.
zu einem gewissen .js
Datei auf Ihrer Seite Fügen Sie diese Sie laden:
$.fn.bootgrid.Constructor.prototype.setCurrentPage = function (page) {
$(this).find('li.page-' + this.current).removeClass('active');
$(this).find('li.page-' + page).addClass('active');
this.current = page;
return this;
}
Sie können es in der gleichen .js
fügen Sie bootgrid und Lastdaten
zu bauen verwenden
Dann können Sie es in Ihrem Raster verwenden, wie folgt:
// create the grid...
var grid = $("#grid-data").bootgrid({
ajax: false
});
// add some rows with json data
grid.bootgrid('append',
[
{
"id": 19,
"sender": "[email protected]",
"received": "2014-05-30T22:15:00"
},
{
"id": 14,
"sender": "[email protected]",
"received": "2014-05-30T20:15:00"
},
// ....many rows
]);
// call your custom method, to change to page 3
grid.bootgrid('setCurrentPage', 3);
// calling sort is just a workaround, so bootgrid reloads itself...
grid.bootgrid('sort');
Also im Grunde, füge ich eine neue Methode zu dessen Prototyp, die die active
Taste ändern (nur für Styling-Zwecke) und current
Eigenschaft bootgrid des ändern.
nach der Seitenzahl zu ändern, rufen wir die Methode sort
als Behelfslösung für Kraft bootgrid seine Daten neu zu laden, ohne die Seitennummer Zurücksetzen, wie reload
würde.
Überprüfen this JSFiddle ich erstellt. Versuch es!!
Danke! Ich mag diese Lösung wirklich. Ich änderte schließlich die bootgrid.js um eine showPage() -Methode, die im Grunde eine load() -Kopie aber die aktuelle Zeile auf die angegebene – Rombus
Oh, das ist schön, dachte ich über die Bereitstellung dieser Option als Alternative, aber nehmen Sie zur Kenntnis Die verkleinerte Version wird nicht funktionieren (es sei denn, Sie minimieren es selbst und ersetzen es oder verwenden Sie nicht die verkleinerte Version). In einer anderen Antwort zu einem anderen Feature schlug ich vor, etwas wie 'Grid.prototype.doSomething = function()' in 'bootgrid.js' zu machen. Ich nehme an, dass sie keine neuen Versionen veröffentlichen werden, also haben Sie möglicherweise keine Probleme beim Aktualisieren des Pakets und vergessen, diesen Code erneut hinzuzufügen. – Alisson