如何实现jqgrid多选工具栏

如何实现jqgrid多选工具栏,jqgrid,free-jqgrid,Jqgrid,Free Jqgrid,目前免费的jqgrid具有支持多选工具栏的功能,我也想在jqgrid中创建相同的功能 在演示中可以看到使用免费jqGrid的multiselect的最新代码。演示中最重要的部分包括: var dataInitMultiselect=函数(元素、搜索选项){ var$grid=$(这是); setTimeout(函数(){ 变量$elem=$(elem), id=元素id, inToolbar=searchOptions.mode==“过滤器”, 选项={ 选择列表:2, 高度:“自动”, che

目前免费的jqgrid具有支持多选工具栏的功能,我也想在jqgrid中创建相同的功能


在演示中可以看到使用免费jqGrid的multiselect的最新代码。演示中最重要的部分包括:

var dataInitMultiselect=函数(元素、搜索选项){
var$grid=$(这是);
setTimeout(函数(){
变量$elem=$(elem),
id=元素id,
inToolbar=searchOptions.mode==“过滤器”,
选项={
选择列表:2,
高度:“自动”,
checkAllText:“全部”,
取消选中文本:“否”,
未选择文本:“任何”,
打开:函数(){
var$menu=$(“.ui多选菜单:可见”);
$menu.width(“自动”);
$menu.css({
宽度:“自动”,
高度:“自动”
});
$menu.children(“ul”).css({
最大高度:“300px”,
溢出:“自动”
});
}
},
$options=$elem.find(“选项”);
如果($options.length>0&&$options[0]。选中){
$options[0]。selected=false;//取消选择第一个选定的选项
}
if(inToolbar){
options.minWidth=“自动”;
}
$grid.triggerHandler(“JQGridRefreshFilterValue”);
$elem.multiselect(选项);
//替换图标ui图标检查、ui图标关闭、ui图标圆圈关闭
//和ui-icon-triangle-1-s,以创建令人敬畏的图标
var$header=$elem.data(“echMultiselect”).header;
$header.find(“span.ui图标.ui图标检查”)
.removeClass(“ui图标ui图标检查”)
.addClass(“fa fw fa检查”);
$header.find(“span.ui-icon.ui-icon-closethick”)
.removeClass(“用户界面图标用户界面图标关闭”)
.addClass(“fa-fw-fa-times”);
$header.find(“span.ui图标.ui图标圈关闭”)
.removeClass(“ui图标ui图标圈关闭”)
.addClass(“fa-fa-times-circle”);
$elem.data(“选择”)
按钮
.find(“span.ui-icon.ui-icon-triangle-1-s”)
.removeClass(“ui图标ui-icon-triangle-1-s”)
.addClass(“fa插入符号向下”)
.css({
浮动:“对”,
marginRight:“5px”
});
}, 50);
},    
多选模板={
stype:“选择”,
搜索选项:{
生成值:是的,
//noFilterText:“任何”,
sopt:[“in”],
属性:{
多重:“多重”,
尺码:3
},
dataInit:dataInitMultiselect
}
};
声明
multiselectTemplate
template。下一个代码片段使用
colModel

colModel:[
...
{
名称:“通过装运”,宽度:85,对齐:“中心”,
模板:多选模板
},
...
],
最后,
loadComplete
包括从服务器加载数据后创建筛选工具栏的代码:

loadComplete:函数(){
如果(!this.ftoolbar){
//创建过滤器工具栏(如果不存在)
$(this).jqGrid(“filterToolbar”{
默认搜索:“cn”,
beforeClear:函数(){
$(this.grid.hDiv)
.find(“.ui搜索工具栏按钮.ui多选”)
.each(函数({
$(this).prev(“选择[多个]”).multiselect(“刷新”);
});
}
});
$(this.triggerHandler(“JQGridRefreshFilterValue”);
$(this.grid.hDiv)
.find(“.ui搜索工具栏按钮.ui多选”)
.each(函数({
$(this.prev)(“选择[多个]”)
.多重选择(“刷新”);
});        
}
},
如果需要,可以通过
destroiltertoolbar
方法将数据销毁,并执行再次创建数据的相同代码片段(我指的是
loadComplete
中的上述代码)来重新加载过滤器工具栏中的数据。

@Oleg您能帮我解决这个问题吗?