JQGrid以编程方式select网格行

我有一个JQGrid loadonce:true(所以这是所有客户端)和分页启用(与20页)。

我想指定一个行(以编程方式,没有用户input),并让我的网格导航到相应的页面来select指定的行。

这与目前的JQGrid可能吗?

我已经看过search和filter,但只是重新加载网格的新行 – 我需要我的网格导航到正确的页面 – 保持其数据和结构。

我正在优化我的网格结构,所以任何需要的变化(比如客户端到服务器端)都是可能的。

因为你使用loadonce:true ,所以你在服务器上准备数据。 在服务器端,您可以决定select哪一行。 在服务器端,你也可以轻松地计算出哪一页是选定的行。 所选行的id和所选页面可以例如包括作为用户数据的一部分。 所以从服务器发送的数据可能如下所示:

 { "total": 5, "page": 1, "records": 107, "rows": [ ... ], "userdata": { "page": 3, "selId": 24 } } 

loadComplete里面可以做下面的事情

 loadComplete: function(data) { if (jQuery("#list").getGridParam('datatype') === "json") { // data.userdata is the same as jQuery("#list").getGridParam('userData'); var userdata = jQuery("#list").getGridParam('userData'); var curPage = jQuery("#list").getGridParam('page'); // is always 1 if (curPage !== userdata.page) { setTimeout(function(){ jQuery("#list").setGridParam( { page: userdata.page }).trigger("reloadGrid"); jQuery("#list").setSelection (userdata.selId, true); },100); } else { jQuery("#list").setSelection (userdata.selId, true); } } } 

一个可以在http://www.ok-soft-gmbh.com/jqGrid/DataToSelect.htm和http://www.ok-soft-gmbh.com/jqGrid/DataToMultiSelect.htm上看到的工作示例。;

更新 : 免费jqGrid支持multiPageSelection:true选项stradeing版本4.10.0。 该选项允许在网格中设置多行的select非常容易(并且工作非常快,因为它在创build网格的主体期间直接设置select状态)。 查看答案 , 演示和自述文件到4.10.0 。