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

问题描述 投票:0回答:2

简单的问题,很难找到答案:

如果我尝试以编程方式选择一行,我会使用这个:

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

问题是它只选择当前可见页面上的行。如果rowId在其他页面,则不会被选择。

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

谢谢, 拉斐尔

PS:这家伙也有同样的问题。还没有答案: jqgrid 多选仅选择当前页面上的行(如果启用了分页)。如何让它跨页选择行?

pagination jqgrid multi-select
2个回答
9
投票

没错,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;
    }
}

这有帮助吗?


0
投票

请看这个: https://stackoverflow.com/a/24941828/136219

寻找实现您所寻求的目标的方法。

© www.soinside.com 2019 - 2024. All rights reserved.