如何动态禁用与启用jqGrid的行拖拽功能?
动态控制jqGrid行拖拽的启用与禁用
我来帮你搞定这个动态控制jqGrid行拖拽启用/禁用的需求~其实有两种常用的方式,你可以根据业务场景选择:
方式一:彻底销毁后重新初始化
这种方式适合需要完全移除拖拽绑定,之后再重新开启的场景:
- 禁用拖拽:调用
gridDnD的destroy方法,移除已有的拖拽功能绑定
$("#grid1").jqGrid('gridDnD', 'destroy');
- 重新启用拖拽:再次执行你最初的初始化代码即可
$("#grid1").jqGrid('gridDnD',{connectWith:'#grid2,#grid3'});
方式二:临时禁用/启用(基于jQuery UI)
因为jqGrid的gridDnD是基于jQuery UI的draggable实现的,所以可以直接操作行元素的拖拽状态,适合需要快速切换的场景:
- 临时禁用拖拽:对grid的行元素调用
draggable("disable")
$("#grid1 tr.jqgrow").draggable("disable");
注:
jqgrow是jqGrid行的默认类名,如果你自定义了行的样式类,记得替换成对应的类名
- 重新启用拖拽:调用
draggable("enable")恢复即可
$("#grid1 tr.jqgrow").draggable("enable");
两种方式的区别:第一种是彻底清除拖拽配置,需要重新初始化;第二种只是临时锁定拖拽功能,保留原有配置,切换更高效。你可以根据自己的实际需求选择合适的方法~
内容的提问来源于stack exchange,提问作者edbird88
相关产品推荐
相关产品推荐

