找回密码
 立即注册

QQ登录

只需一步,快速开始

鸳鸯配2024

金牌服务用户

30

主题

163

帖子

413

积分

金牌服务用户

积分
413
鸳鸯配2024
金牌服务用户   /  发表于:2024-7-30 10:53  /   查看:1754  /  回复:29
本帖最后由 鸳鸯配2024 于 2024-7-30 15:55 编辑

    designer = new GCDesigner.Spread.Sheets.Designer.Designer('designer-container');
    spread = designer.getWorkbook();
    // 工具栏隐藏
    designer.setData("isRibbonCollapse",true); // 功能生效
    // let spread = GC.Spread.Sheets.Workbook
    let sheet = spread.getActiveSheet();
    spread.options.copyPasteHeaderOptions = GC.Spread.Sheets.CopyPasteHeaderOptions.allHeaders;

    let spread5 = new GC.Spread.Sheets.Workbook(document.getElementById("designer-container"));
    let oldF = spread5.contextMenu.onOpenMenu
    spread5.contextMenu.onOpenMenu = function (menuData, itemsDataForShown, hitInfo, spread) {
        itemsDataForShown.push({
            text: "自定义右键菜单",
            name: "customContextMenu",
            command: "customCommand"
        },{
            text: "yustest",
            name: "customContextMenu",
            command: "customCommand"
        })
        // 在第二行不可用
        let sel = spread.getActiveSheet().getSelections()[0]
        if(sel.row == 1) {
            itemsDataForShown.splice(0, itemsDataForShown.length)
        }
        oldF.apply(this, arguments)
    }

    spread5.commandManager().register("customCommand", {
        canUndo: false,
        execute: function (spread, options) {
            console.log(arguments)
        }
    })


也没有报错,不知道是哪里的问题

https://demo.grapecity.com.cn/spreadjs/practice/menu/spread-add-custom-context-menu


我是直接直接把这个例子的代码拿过来的

29 个回复

倒序浏览
Wilson.Zhang
超级版主   /  发表于:2024-7-30 16:03:35
沙发
您好!看您提供的代码中同时出现在线表格编辑器和SpreadJS,请问下您在使用的是在线表格编辑器还是SpreadJS?
回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-7-30 16:29:47
板凳
Wilson.Zhang 发表于 2024-7-30 16:03
您好!看您提供的代码中同时出现在线表格编辑器和SpreadJS,请问下您在使用的是在线表格编辑器还是SpreadJS ...

我不太清楚2者有什么不一样。
但我们应该主要用的是 SpreadJS 吧。我们是想做二次开发

我们买了商业版
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-7-30 16:33:07
地板
鸳鸯配2024 发表于 2024-7-30 16:29
我不太清楚2者有什么不一样。
但我们应该主要用的是 SpreadJS 吧。我们是想做二次开发

在线表格编辑器的上方有工具栏,为了做以区分,通常说到的SpreadJS是没有上方工具栏的组件。两者都可以支持业务开发。
回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-7-30 16:34:46
5#
Wilson.Zhang 发表于 2024-7-30 16:33
在线表格编辑器的上方有工具栏,为了做以区分,通常说到的SpreadJS是没有上方工具栏的组件。两者都可以支 ...

明白了。那我们就是主要是 在线表格编辑器
帮忙看下,添加右键不生效。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-7-30 16:45:24
6#
在线表格编辑器扩展右键菜单自定义选项主要遵循的结构包括:定义右键菜单选项、注册选项相关命令。请您先参考下官网教程了解详情:https://demo.grapecity.com.cn/sp ... dd-insert-row-below
回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-7-30 16:47:57
7#
Wilson.Zhang 发表于 2024-7-30 16:45
在线表格编辑器扩展右键菜单自定义选项主要遵循的结构包括:定义右键菜单选项、注册选项相关命令。请您先参 ...

这个例子不全的。你可以稍微仔细看下。有些参数没有定义。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-7-30 17:01:25
8#
鸳鸯配2024 发表于 2024-7-30 16:47
这个例子不全的。你可以稍微仔细看下。有些参数没有定义。

您参考下附件中的demo,该demo新增了自定义右键菜单选项“自定义删除列”,如下动图所示:

在线表格编辑器自定义右键菜单.gif

在线表格编辑器新增右键菜单.zip

2.5 KB, 下载次数: 169

回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-7-31 11:19:38
9#
Wilson.Zhang 发表于 2024-7-30 17:01
您参考下附件中的demo,该demo新增了自定义右键菜单选项“自定义删除列”,如下动图所示:

好奇怪啊,我这边没有看到有右键的自定义删除列菜单。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-7-31 11:23:00
10#
鸳鸯配2024 发表于 2024-7-31 11:19
好奇怪啊,我这边没有看到有右键的自定义删除列菜单。

您好!提供给您的demo中的“自定义删除列”菜单选项在鼠标右键列头时出现的菜单中。
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部