2013-09-30 60 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;