的jqGrid:如何使用多选在不同的页面

问题描述:

简单的问题,很难找到一个答案:的jqGrid:如何使用多选在不同的页面

如果我试图以编程方式选择一排,我用这个:

$('#grid').jqGrid('setSelection', rowId); 

的问题是,它仅选择当前可见页面上的行。如果rowId在另一页上,则不会被选中。

更多信息:我的目标是在页面首次加载时选择多行(分布在多个页面上)。

感谢, 拉斐尔

PS:这家伙有同样的问题。还没有答案: jqgrid multiselect only selects rows on the current page, if paging is enabled. How to make it select rows across pages?

对,jqGrid只会选择当前页面上的行。为了选择其他行,您需要维护一个选定ID的列表并手动选择它们。

要做到这一点,你需要将代码添加到您的loadComplete事件搜索当前页面,选择所有这些行:

var ids = grid.jqGrid('getDataIDs'); 
for (var i = 0; i < ids.length; i++){ 
    if (selected[ids[i]] === true){ 
     grid.setSelection(ids[i], false); 
    } 
} 

您还需要将代码添加到您的onSelectRowonSelectAll事件调整当用户选择/取消选择行时,内容为selected

onSelectRow: function(rowid, status){ 
    selected[rowid] = status; 
    setSelectedDeviceCount(); 
}, 

onSelectAll: function(rowids, status){ 
    for (var i = 0; i < rowids.length; i++){ 
     selected[rowids[i]] = status; 
    } 
} 

这有帮助吗?

+0

非常感谢!不幸的是,代码不能用这种方式(我的错,不是你的!),但总体思路让我解决这个问题!谢谢! – 2012-07-19 20:39:30

请看到这一点: https://*.com/a/24941828/136219

一种方式来实现你在找什么。