JQGrid – 多选

JQGrid中的多重选择只允许多项选择或单项选择,并且换档function不是我期望的换档选择。 我也不喜欢我们需要多选的combobox。

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

[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; } 

结束 – 希望有所帮助