找回密码
 立即注册

QQ登录

只需一步,快速开始

注册会员

5

主题

8

帖子

53

积分

注册会员

积分
53
  • 167

    金币

  • 5

    主题

  • 8

    帖子


注册会员   /  发表于:2022-5-31 17:01  /   查看:2453  /  回复:4
1金币
v15 设计器工具栏按钮点击有类似beforeClick的回调方法吗? return true才继续后续操作,false就取消当前点击事件。
想达到的目是工具栏按钮点击前先判断某些条件(例如权限等),不符合条件就提示

最佳答案

查看完整内容

请参考附件demo,主要代码如下:

4 个回复

正序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-6-1 17:56:22
4#
这边先尝试整理个demo,预计明天回复您。
回复 使用道具 举报

注册会员   /  发表于:2022-6-1 14:09:56
3#
Lynn.Dou 发表于 2022-5-31 18:43
您好,
工具栏按钮没有提供类似beforeClick的回调方法,
如果想点击按钮做出提示就需要重写工具栏按钮了 ...

那有办法重写按钮的命令,继承原有的功能吗?
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-5-31 18:43:45
2#
您好,
工具栏按钮没有提供类似beforeClick的回调方法,
如果想点击按钮做出提示就需要重写工具栏按钮了,工程量会较为庞大。
实际上,如果您是想实现权限控制,SJS提供了表单保护功能,会置灰工具栏的某些按钮使不可点击。
置灰按钮也可以根据您的需求自定义,具体可以参考下方链接技术文章和公开课:
https://gcdn.grapecity.com.cn/fo ... read&tid=139165
https://gcdn.grapecity.com.cn/fo ... 9&fromuid=59119
回复 使用道具 举报
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-5-31 17:01:30
来自 5#
请参考附件demo,主要代码如下:
  1. var InsertPictureCommand = GC.Spread.Sheets.Designer.getCommand(GC.Spread.Sheets.Designer.CommandNames.InsertPicture);
  2.             if(InsertPictureCommand){
  3.                 var oldExecute = InsertPictureCommand.execute;
  4.                 InsertPictureCommand.execute = function(context, propertyName, args){
  5.                     //添加自定义逻辑
  6.                     alert("添加图片")
  7.                     oldExecute.call(this, context, propertyName, args);
  8.                 }
  9.             }
  10.             var config = GC.Spread.Sheets.Designer.DefaultConfig;
  11.             config.commandMap = {};
  12.             config.commandMap[GC.Spread.Sheets.Designer.CommandNames.InsertPicture] = InsertPictureCommand;
  13.             var designer = new GC.Spread.Sheets.Designer.Designer("gc-designer-container", config, undefined);
复制代码


demo-designer.html

5.28 KB, 下载次数: 87

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部