jquery – JQGrid – Multiselect

前端之家收集整理的这篇文章主要介绍了jquery – JQGrid – Multiselect前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
JQGrid中的多重选择只允许多项选择或单项选择,并且换档功能不是我期望的换档选择.我也不喜欢我们需要多选的组合框.

我可以使用什么其他解决方案进行多选?

解决方法

[2011年10月]更新为使用4.0 API,更正了移位选择错误,简化了选择循环.在4.2.0中测试过.

如果像我一样,你需要在jqgrid中使用正确的多选 – 其中ctrl一次选择一行,select选择多行并且既不清除选择又选择1行 – 你已经找到了它.

首先要做的事情:在网格定义中设置multiselect:true(我没有设置任何其他多选项)

Next:在gridComplete:function(){}中设置grid.jqGrid(‘hideCol’,’cb’); – 如果你不想要它们,这会隐藏复选框.

最后:主要部分

beforeSelectRow: function (rowid,e) {
    if (!e.ctrlKey && !e.shiftKey) {
        $("#grid").jqGrid('resetSelection');
    }
    else if (e.shiftKey) {
        var initialRowSelect = $("#grid").jqGrid('getGridParam','selrow');
        $("#grid").jqGrid('resetSelection');

        var CurrentSelectIndex = $("#grid").jqGrid('getInd',rowid);
        var InitialSelectIndex = $("#grid").jqGrid('getInd',initialRowSelect);
        var startID = "";
        var endID = "";
        if (CurrentSelectIndex > InitialSelectIndex) {
            startID = initialRowSelect;
            endID = rowid;
        }
        else {
            startID = rowid;
            endID = initialRowSelect;
        }

        var shouldSelectRow = false;
        $.each($("#grid").getDataIDs(),function(_,id){
            if ((shouldSelectRow = id == startID || shouldSelectRow)){
              $("#grid").jqGrid('setSelection',id,false);
            }
            return id != endID;                        
        });
    }
    return true;
}

结束 – 希望有所帮助

猜你在找的jQuery相关文章