我有一个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
});
答案 0 :(得分:2)
我觉得你的问题非常有趣,所以我准备了the demo来演示相应的解决方案。
可以在下拉框中选择行,然后单击“按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以滚动到该行,但仅限于当前页面。