简单的问题,很难找到答案:
如果我尝试以编程方式选择一行,我会使用这个:
$('#grid').jqGrid('setSelection', rowId);
问题是它只选择当前可见页面上的行。如果rowId在其他页面,则不会被选择。
更多信息:我的目标是在第一次加载页面时选择多行(分布在多个页面上)。
谢谢, 拉斐尔
PS:这家伙也有同样的问题。还没有答案: jqgrid 多选仅选择当前页面上的行(如果启用了分页)。如何让它跨页选择行?
没错,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;
}
}
这有帮助吗?
请看这个: https://stackoverflow.com/a/24941828/136219
寻找实现您所寻求的目标的方法。