找回密码
 立即注册

QQ登录

只需一步,快速开始

zhanglibin

初级会员

28

主题

91

帖子

257

积分

初级会员

积分
257

[已处理] 禁用右键菜单

zhanglibin
初级会员   /  发表于:2021-10-13 14:26  /   查看:2642  /  回复:4
本帖最后由 zhanglibin 于 2021-10-15 10:18 编辑

如题:1、请问怎么禁用spreadjs表格的右键菜单
image.png231638182.png
2、怎么禁用列宽的拖动;
image.png718027648.png

4 个回复

倒序浏览
zhanglibin
初级会员   /  发表于:2021-10-13 16:10:55
沙发
spread.options.allowContextMenu = false;可以禁用所有列的右键菜单;
但是我想禁用某几列的右键菜单,有实现思路吗
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-10-13 17:28:38
板凳
本帖最后由 Lynn.Dou 于 2021-10-13 17:30 编辑

您好,

1、禁用某列列头右键菜单
可以重写右键菜单,在onOpenMenu方法内判断是否选择为某列,进而控制右键菜单是否显示。
核心代码:
  1. function ContextMenu() { }
  2.             ContextMenu.prototype = new GC.Spread.Sheets.ContextMenu.ContextMenu(spread);
  3.             ContextMenu.prototype.onOpenMenu = function (menuData, itemsDataForShown, hitInfo, spread) {
  4.                 sheet.suspendPaint();
  5.                 console.log(hitInfo.worksheetHitInfo);
  6.                 if (hitInfo.worksheetHitInfo.rowViewportIndex == -1 && hitInfo.worksheetHitInfo.col == 1) {
  7.                     itemsDataForShown.splice(0, itemsDataForShown.length)
  8.                 }
  9.                 sheet.resumePaint();
  10.             };

  11.             spread.contextMenu = new ContextMenu();
复制代码
完整代码查看附件demo:

2、禁用列宽拖动

参考以下代码:
// 禁止第一列拖动改变列宽
sheet.setColumnResizable(1, false);

API:https://demo.grapecity.com.cn/sp ... #setColumnResizable

inandout.html

1.7 KB, 下载次数: 161

回复 使用道具 举报
zhanglibin
初级会员   /  发表于:2021-10-15 10:17:59
地板
Lynn.Dou 发表于 2021-10-13 17:28
您好,

1、禁用某列列头右键菜单

感谢版主,很有帮助
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-10-15 10:48:29
5#
zhanglibin 发表于 2021-10-15 10:17
感谢版主,很有帮助

解决了就好,有新问题欢迎开新帖交流~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部