私はjqgridの最後のバージョンを使用しています.bindKeysメソッドを使用してキーボードをサポートし、上下のキーで行を選択することができます.今、ページ間を移動するために「ページアップ/ページダウン」を使用したい(次/前)方法やれ?
jQuery("#List1").jqGrid('bindKeys', {
});
このコードを確認してください:
$(grid).bind('keydown', function (e) {
var totalPages = $("#sp_1_List1_toppager").text();
var currentPage = grid.getGridParam('page');
//pagedown
if (e.keyCode == 34 && currentPage > 1) {
grid.jqGrid('setGridParam', { "page": currentPage - 1 }).trigger("reloadGrid");
}
//pageup
else if (e.keyCode == 33 && totalPages != currentPage) {
grid.jqGrid('setGridParam', { "page": page + 1 }).trigger("reloadGrid");
}
});
セル編集モードでこれを行おうとしている人にとって、これは少なくとも jqGrid 4.6.0 に当てはまります。
セル編集モードでは、キー バインディングを jqGrid ソース コードで直接定義する必要があります。bindKeys を使用しようとしたり、keydown イベントをバインドしようとしても機能しません。この場合、jqGrid ソースの GridNav 関数内にあるキー コード switch ステートメントに次を追加します。
case 34: // Page Down – Previous page
var pager = $($t).jqGrid('getGridParam', "pager");
var page = $($t).jqGrid('getGridParam', "page");
if (pager && page > 1) {
$($t).jqGrid('setGridParam', { "page": page – 1 }).trigger("reloadGrid");
}
break;
case 33: // Page Up – Next page
var pager = $($t).jqGrid('getGridParam', "pager");
var page = $($t).jqGrid('getGridParam', "page");
var lastpage = $($t).jqGrid('getGridParam', "lastpage");
if (pager && page < lastpage) {
$($t).jqGrid('setGridParam', { "page": page + 1 }).trigger("reloadGrid");
}
break;
Home キーを最初のページにジャンプさせ、End キーを最後のページにジャンプさせたい場合は、これらを追加します。
case 36: // Home – First page
var pager = $($t).jqGrid('getGridParam', "pager");
var page = $($t).jqGrid('getGridParam', "page");
if (pager && page !== 1) {
$($t).jqGrid('setGridParam', { "page": 1 }).trigger("reloadGrid");
}
break;
case 35: // End – Last page
var pager = $($t).jqGrid('getGridParam', "pager");
var page = $($t).jqGrid('getGridParam', "page");
var lastpage = $($t).jqGrid('getGridParam', "lastpage");
if (pager && page !== lastpage) {
$($t).jqGrid('setGridParam', { "page": lastpage }).trigger("reloadGrid");
}
break;