的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);
}
}
您还需要将代码添加到您的onSelectRow
和onSelectAll
事件调整当用户选择/取消选择行时,内容为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;
}
}
这有帮助吗?
非常感谢!不幸的是,代码不能用这种方式(我的错,不是你的!),但总体思路让我解决这个问题!谢谢! – 2012-07-19 20:39:30