通过id / key滚动到jqgrid项目

时间:2013-10-24 18:57:11

标签: jqgrid

我有一个jqgrid宽度多页。每行都有一个唯一的ID。是否有直接滚动的功能,即行ID 1234

var mygrid = $("#list").jqGrid({
    url: 'get_sql_json.php',
    datatype: "json",
    mtype: "GET",
    pager: "#pager",
    rowNum: 100,
    rowList: [100, 200, 500],
    autoencode: true,
    autowidth: true,
    sortorder: "desc",
    shrinkToFit: true,
    viewrecords: true,
    loadonce: true,
    gridview: true,
    autoencode: true
    }); 

2 个答案:

答案 0 :(得分:2)

我觉得你的问题非常有趣,所以我准备了the demo来演示相应的解决方案。

enter image description here

可以在下拉框中选择行,然后单击“按ID选择行”按钮。如果指定的行位于当前页面上,则将使用setSelection方法选择该行。如果在另一页上的行中,则将计算新的页码,并且将使用预先选择的指定行重新加载网格。我使用current: true的{​​{1}}选项here

使用reloadGrid这一点非常重要,它允许将更多内容保存为一页行。如果网格的工作方式类似于loadonce: true的网格,其中datatype: "local"参数定义为第一次加载时从服务器返回的数据。

为了实现选择,我使用the answer中描述的方法。我覆盖(子类)jqGrid使用的内部data方法的select方法,以便最后完整排序和过滤的本地数据保存在新的内部变量lastSelected中。它允许仅访问完整数据集而不是当前页面(仅在the line执行$.jgrid.from后才包含来自the line的数据而不是当前页面。

演示代码中最重要的部分如下:

slice

答案 1 :(得分:0)

您可以使用setSelection选择ID以滚动到该行,但仅限于当前页面。