Bob*_*Bob 6 jquery jqgrid multi-select
JQGrid中的多重选择只允许多项选择或单项选择,并且换档功能不是我期望的换档选择.我也不喜欢我们需要多选的组合框.
我可以使用什么其他解决方案进行多选?
Bob*_*Bob 26
[2011年10月]更新为使用4.0 API,更正了移位选择错误,简化了选择循环.在4.2.0中测试过.
如果像我一样,你需要在jqgrid中进行适当的多选 - 其中ctrl一次选择一行,select选择多行并且既不清除选择又选择1行 - 你已经找到了它.
首先要做的事情:multiselect: true在网格定义中设置(我没有设置任何其他多选项)
下一个:在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;
}
Run Code Online (Sandbox Code Playgroud)
结束 - 希望有所帮助
| 归档时间: |
|
| 查看次数: |
27721 次 |
| 最近记录: |