找回密码
 立即注册

QQ登录

只需一步,快速开始

李杰123

注册会员

4

主题

7

帖子

41

积分

注册会员

积分
41
  • 126

    金币

  • 4

    主题

  • 7

    帖子

最新发帖
李杰123
注册会员   /  发表于:2024-10-16 11:49  /   查看:187  /  回复:4
5金币

      
let config = JSON.parse(JSON.stringify(GC.Spread.Sheets.Designer.DefaultConfig));

      config.commandMap = {
          "myCmd":{
            text: "插入表连接",
            commandName: "myCmd",
            execute: () =>{
              this.insertlink();
            }
          }
      }
      config.contextMenu.push("myCmd");
      value.setConfig(config);


最佳答案

查看完整内容

您好!根据您提供的代码片段,了解到您使用的是SpreadJS Designer。Designer的右键菜单均在配置DefaultConfig对象中,可以通过访问该对象的contextMenu属性调整菜单选项的排布顺序,之后再将修改后的DefaultConfig对象重设回Designer对象即可。 可以参考官网文档了解如何设置自定义菜单选项在菜单框中的排列位置: https://demo.grapecity.com.cn/sp ... t-doc-content_title 如下图所示,即官网文档中设置菜单选项顺序。 ...

4 个回复

倒序浏览
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2024-10-16 11:49:38
来自 2#
您好!根据您提供的代码片段,了解到您使用的是SpreadJS Designer。Designer的右键菜单均在配置DefaultConfig对象中,可以通过访问该对象的contextMenu属性调整菜单选项的排布顺序,之后再将修改后的DefaultConfig对象重设回Designer对象即可。

可以参考官网文档了解如何设置自定义菜单选项在菜单框中的排列位置:
https://demo.grapecity.com.cn/sp ... t-doc-content_title

如下图所示,即官网文档中设置菜单选项顺序。
自定义菜单选项设定位置.png82902525.png
回复 使用道具 举报
李杰123
注册会员   /  发表于:2024-10-16 16:29:18
3#
Wilson.Zhang 发表于 2024-10-16 16:08
您好!根据您提供的代码片段,了解到您使用的是SpreadJS Designer。Designer的右键菜单均在配置DefaultConf ...

   不生效  
config.commandMap = {
          "myCmd":{
            text: "插入表连接",
            commandName: "myCmd",
            execute: () =>{
              this.insertlink();
            }
          }
      }
      console.log(config.contextMenu);
      config.contextMenu.push("myCmd");
      config.contextMenu.splice(0,0,"myCmd");
      value.setConfig(config);
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-17 09:20:09
4#
李杰123 发表于 2024-10-16 16:29
不生效  
config.commandMap = {
          "myCmd":{

从您提供的代码片段中,了解到您先后添加了两个相同的菜单选项,分别添加在menuData数组的首尾。

如果您需要自定义菜单选项显示在菜单选项栏的最上方,那就用config.contextMenu.splice(0, 0, 'myCmd')或config.contextMenu.unshift('myCmd');。同理,如果要设定自定义菜单选项在菜单选项栏的位置,可以通过config.contextMenu.splice()设置。可以参考如下代码:
  1. var config = GC.Spread.Sheets.Designer.DefaultConfig;
  2. config.commandMap = {
  3.     myCmd: {
  4.         text: '插入表链接',
  5.         commandName: 'myCmd',
  6.         execute: async (context, propertyName, fontItalicChecked) => {
  7.             console.log('插入表链接');
  8.         }
  9.     }
  10. }

  11. config.contextMenu.splice(0, 0, 'myCmd');
  12. designer.setConfig(config);
复制代码

上述代码的作用如下动图所示。
自定义右键菜单选项调整.gif
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-24 14:20:07
5#
您好!由于您较长时间未回复,且从跟帖回复中了解到问题已得到有效解答,那就结帖了。如有新问题,欢迎发新帖沟通。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部