找回密码
 立即注册

QQ登录

只需一步,快速开始

路过留痕

注册会员

12

主题

21

帖子

123

积分

注册会员

积分
123
路过留痕
注册会员   /  发表于:2021-3-22 12:06  /   查看:3739  /  回复:11
本帖最后由 路过留痕 于 2021-3-22 12:13 编辑

image.png708631591.png 定义了5个右键菜单,插入批注和编辑批注不显示,只能显示复制、插入和删除三个。如果删除了保护定义就可以sheet.options.isProtected = true;



{text: "复制", name: "gc.spread.copy", command: "gc.spread.contextMenu.copy", iconClass: "gc-spread-copy", workArea: "viewportcolHeaderrowHeaderslicercorner"},{            text: "插入",
            name: "gc.spread.insertRowData",
            command: "insertRowsBehind",
            iconClass: "gc-spread-tableInsertRowsBelow",
            workArea: "viewportcolHeaderrowHeadercorner"
        }, {
            text: "删除",
            name: "gc.spread.tableDeleteRows",
            command: "deleteRows",
            iconClass: "gc-spread-tableDeleteRows",
            workArea: "viewportcolHeaderrowHeadercorner"
        }, {
            command: "gc.spread.contextMenu.insertComment",
            iconClass: "gc-spread-insertComment",
            name: "gc.spread.insertComment",
            text: "插入批注",
            workArea: "viewportcorner"
        },{
            text: "编辑批注",
            name: "gc.spread.editComment",
            command: "gc.spread.contextMenu.editComment",
            iconClass: "gc-spread-editComment",
            workArea: "viewportcorner"
        }





11 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-22 12:12:51
沙发
您好,为了更快的解决您的问题,您上传一个完整可运行的demo,便于这边调试修改。
回复 使用道具 举报
路过留痕
注册会员   /  发表于:2021-3-22 14:20:22
板凳
数据整行复制与粘贴,麻烦也看一下。

SpreadJsDEMO.rar

4.26 KB, 下载次数: 44

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-22 15:08:05
地板
本帖最后由 lynn512 于 2021-3-22 15:11 编辑

您好,你上传的为一个js文件,仅有js文件无法运行复现您的问题。这边还是建议您上传一个完整可运行的demo,方便这边快速复现问题查找原因,这样也能更快的解决您的问题。
如果是担心代码隐私,您可以修改本贴权限,设置为仅超级版本可见。或者在附件的模板demo中添加上您自己的代码,能复现问题即可。

”数据整行复制与粘贴,麻烦也看一下。“
为防止问题混淆,关于此问题您发个新帖,详细的描述现在遇到的问题和您的需求,附上相应的demo。


模板.zip

9.89 MB, 下载次数: 42

回复 使用道具 举报
路过留痕
注册会员   /  发表于:2021-3-22 16:10:09
5#
这个demo就是独立,你放到任何一个react项目中,都应该可以运行,我试过后,才放把代码放上的,和官方提供的demo代码差不多,难道非要把整个项目的封装好才行。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-22 16:19:27
6#
前面有提到,建议您上传完整的demo是为了更快的复现您所描述的问题,也是为了更快的解决您的问题。
您提供了js文件,这边当然可以另建一个react工程,引入js文件,但是在引入过程中,可能会遇到错误、无法运行等,可能会需要跟您二次沟通,这消耗了时间,也影响咱解决问题的效率。
所以一般来说,我们会建议客户提供可运行的demo,在demo上直接调试,能避免很多无效沟通。
如果您基于一些原因无法提供完整demo,可以跟我们反馈困难,这边也可以为您重新整理demo,帮助您解决此问题。
回复 使用道具 举报
路过留痕
注册会员   /  发表于:2021-3-26 16:30:20
7#
react 项目,启动命令: npm run start

my-app.rar

115.94 KB, 下载次数: 41

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-26 17:49:39
8#
本帖最后由 lynn512 于 2021-3-26 18:25 编辑

问题已复现,需要一定时间调研下解决方案,预计下周一上午更新问题进展。
-----------------------------------------------------------------------------------

在 initContextMenu方法中 添加以下代码:
  1. function ContextMenu(){}
  2.     ContextMenu.prototype = new GC.Spread.Sheets.ContextMenu.ContextMenu(spread);
  3.     ContextMenu.prototype.onOpenMenu = function (menuData, itemsDataForShown, hitInfo, spread) {
  4.         console.log(menuData);
  5.         console.log(itemsDataForShown);
  6.         console.log(hitInfo);
  7.         console.log(sheet.options.isProtected)
  8.         if(sheet.options.isProtected) {
  9.             for(let i=0; i<menuData.length; i++){
  10.             var item = menuData[i];
  11.             if(item.name === "gc.spread.insertComment"){
  12.                 itemsDataForShown.push(item);
  13.             }
  14.         }
  15.         }
  16.     };
  17.     spread.contextMenu = new ContextMenu();
复制代码
右键打开右键菜单时会触发 onOpenMenu 事件,参数 menuData 表示 所有菜单项,itemsDataForShown 表示筛选项(即可展示的项)
表单保护下,默认右键菜单不显示批注项,如果想要显示,可通过修改 itemsDataForShown 来更改筛选结果。
示例代码如上所示。
完整代码请参考附件demo。

my-app.zip

135.59 KB, 下载次数: 43

回复 使用道具 举报
路过留痕
注册会员   /  发表于:2021-3-29 12:00:24
9#
lynn512 发表于 2021-3-26 17:49
问题已复现,需要一定时间调研下解决方案,预计下周一上午更新问题进展。
------------------------------ ...

收到,问题已解决,谢谢。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-29 12:03:05
10#
您客气了,如果您对我的服务还满意的话,可以点击右下角评分,对我的服务做出评价,5分为非常满意。
感谢您对产品的支持。
本贴就先结帖了,有问题欢迎另开新帖。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部