在jqgrid中的页面之间移动

时间:2013-09-30 14:07:42

标签: jquery jqgrid webforms

我使用jqgrid最后一个版本。我使用bindKeys方法获得键盘支持,可以选择一个带有向上和向下键的行。现在我想使用“向上/向下翻页”在页面之间导航(下一个/上一个) )怎么做?

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

2 个答案:

答案 0 :(得分: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");
    }
});

答案 1 :(得分: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键跳转到第一页,并将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;