2013-09-30 58 views
0

我使用jqgrid最新版本。我使用bindKeys方法來獲得鍵盤支持,並且可以使用向上和向下鍵選擇一行。現在我想使用「向上翻頁/向下翻頁」來瀏覽網頁(下一頁/上一頁)如何做到這一點?在jqgrid頁面間移動

jQuery("#List1").jqGrid('bindKeys', { 
}); 

回答

1

請檢查驗證碼:至少

$(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"); 
    } 
}); 
0

對於任何人正在試圖做到這一點在單元格內編輯模式,這適用於jqGrid的4.6.0:

Cell Editing模式鍵綁定必須直接在jqGrid源代碼中定義。嘗試使用bindKeys或綁定keydown事件將不起作用。在這種情況下,添加以下到jqGrid的源GridNav函數內找到了鑰匙代碼開關語句:

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鍵跳轉到第一頁,掛機鍵最後一頁,添加這些:

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;