jsonデータを持つ "Bootgrid"グリッドがあります(ajaxを使用していません)。Jquery Bootgrid - 現在のページをプログラム的に変更します
ページ分割ボタンは正常に機能しますが、現在のページをプログラムで変更したいと考えています。
$( "#grid")のようなもの。bootgrid()。setCurrentPage(100);
私はそれを達成するための方法を提供するAPIが表示されません。
jsonデータを持つ "Bootgrid"グリッドがあります(ajaxを使用していません)。Jquery Bootgrid - 現在のページをプログラム的に変更します
ページ分割ボタンは正常に機能しますが、現在のページをプログラムで変更したいと考えています。
$( "#grid")のようなもの。bootgrid()。setCurrentPage(100);
私はそれを達成するための方法を提供するAPIが表示されません。
ご覧のとおり、bootgridには、現在のページを変更するための組み込みの方法はありません。あなたはそれを拡張することができます。
あなたのページにロードしているいくつかの.js
ファイルにこれを追加:あなたは
.js
に貼り付けることができ
$.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;
}
グリッドで使用すると、次のようになります。
// 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');
だから基本的に、私は(ちょうどスタイリングの目的のために)
active
ボタンを変更し、bootgridのcurrent
プロパティを変更しますそのプロトタイプに新しいメソッドを追加します。ページ番号を変更した後、我々は
reload
と同じように、ページ番号をリセットせずにそのデータ、をリロードする力bootgridの回避策としてsort
メソッドを呼び出します。
チェックthis JSFiddleを作成しました。それを試してみてください!!
ありがとうございます!私はこのソリューションが本当に好きです。私は最終的にload()コピーであるshowPage()メソッドを組み込むようにbootgrid.jsを変更しましたが、現在の行を指定されたものに設定しました – Rombus
ああ、これは良い選択ですが、あなたがそれを小型化して交換するか、またはミニバージョンを使用しない限り、ミニバージョンは機能しません。別の機能についての別の答えでは、 'bootgrid.js'の内部に' Grid.prototype.doSomething = function() 'のようなことを提案しました。私は彼らが新しいバージョンをリリースするつもりはないと思うので、あなたはパッケージを更新したり、このコードをもう一度追加するのを忘れるかもしれません。 – Alisson