You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何动态禁用与启用jqGrid的行拖拽功能?

动态控制jqGrid行拖拽的启用与禁用

我来帮你搞定这个动态控制jqGrid行拖拽启用/禁用的需求~其实有两种常用的方式,你可以根据业务场景选择:

方式一:彻底销毁后重新初始化

这种方式适合需要完全移除拖拽绑定,之后再重新开启的场景:

  1. 禁用拖拽:调用gridDnD的destroy方法,移除已有的拖拽功能绑定
$("#grid1").jqGrid('gridDnD', 'destroy');
  1. 重新启用拖拽:再次执行你最初的初始化代码即可
$("#grid1").jqGrid('gridDnD',{connectWith:'#grid2,#grid3'});

方式二:临时禁用/启用(基于jQuery UI)

因为jqGrid的gridDnD是基于jQuery UI的draggable实现的,所以可以直接操作行元素的拖拽状态,适合需要快速切换的场景:

  1. 临时禁用拖拽:对grid的行元素调用draggable("disable")
$("#grid1 tr.jqgrow").draggable("disable");

注:jqgrow是jqGrid行的默认类名,如果你自定义了行的样式类,记得替换成对应的类名

  1. 重新启用拖拽:调用draggable("enable")恢复即可
$("#grid1 tr.jqgrow").draggable("enable");

两种方式的区别:第一种是彻底清除拖拽配置,需要重新初始化;第二种只是临时锁定拖拽功能,保留原有配置,切换更高效。你可以根据自己的实际需求选择合适的方法~

内容的提问来源于stack exchange,提问作者edbird88

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:25:53