请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

和和

注册会员

5

主题

13

帖子

40

积分

注册会员

积分
40
最新发帖
和和
注册会员   /  发表于:2025-1-20 18:12  /   查看:88  /  回复:5
本帖最后由 和和 于 2025-1-21 12:40 编辑

如何实现设计器添加一个按钮,比如显示所有批注,点击之后该按钮图标和按钮名字变为隐藏所有批注,即用于切换该sheet页批注全部显示/全部隐藏,我应该用什么变量去存该按钮的状态,使用

image.png298679503.png
image.png74171141.png
我想实现点击之后图标样式和描述发生改变

image.png401492308.png

5 个回复

倒序浏览
Matthew.Xue
超级版主   /  发表于:2025-1-21 11:23:48
沙发
看来您已经解决这个问题了,感谢您的支持~
回复 使用道具 举报
和和
注册会员   /  发表于:2025-1-21 12:19:19
板凳
Matthew.Xue 发表于 2025-1-21 11:23
看来您已经解决这个问题了,感谢您的支持~

我解决失败了 能帮我再看看吗 我想实现按钮点击后图标修改的效果
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-1-21 14:13:49
地板
和和 发表于 2025-1-21 12:19
我解决失败了 能帮我再看看吗 我想实现按钮点击后图标修改的效果

您好, 请问您是想动态改变设计器上自定义工具栏的文字和图标吗?有一部分工具栏是带值的,比如字体、字号等,getState是用于获取这个值,而不是去动态设置文字和图标的。要动态设置,只能重新给designer去setConfig,暂时没有其他办法了,您可以试试

  1. let customState = 2
  2. let config = GC.Spread.Sheets.Designer.DefaultConfig
  3. config.commandMap = {
  4.     Welcome: {
  5.         title: "Welcome",
  6.         text: "Welcome China",
  7.         iconClass: "ribbon-button-welcome",
  8.         bigButton: "true",
  9.         commandName: "Welcome",
  10.         execute: function (context, propertyName, fontItalicChecked) {
  11.             refreshDesigner(context)
  12.         }
  13.     }
  14. }
  15. config.ribbon[0].buttonGroups.unshift({
  16.     "label": "NewDesigner",
  17.     "thumbnailClass": "welcome",
  18.     "commandGroup": {
  19.         "children": [
  20.             {
  21.                 "direction": "vertical",
  22.                 "commands": [
  23.                     "Welcome"
  24.                 ]
  25.             }
  26.         ]
  27.     }
  28. });


  29. designer.setConfig(config)

  30. function refreshDesigner(designer) {

  31.     if (customState == 1) {
  32.         config.commandMap = {
  33.             Welcome: {
  34.                 title: "Welcome",
  35.                 text: "Welcome China",
  36.                 iconClass: "ribbon-button-welcome",
  37.                 bigButton: "true",
  38.                 commandName: "Welcome",
  39.                 execute: function (context, propertyName, fontItalicChecked) {
  40.                     refreshDesigner(context)
  41.                 }
  42.             }
  43.         }
  44.         customState = 2
  45.     } else if (customState == 2) {
  46.         config.commandMap = {
  47.             Welcome: {
  48.                 title: "Welcome",
  49.                 text: "Welcome US",
  50.                 iconClass: "ribbon-button-welcome-us",
  51.                 bigButton: "true",
  52.                 commandName: "Welcome",
  53.                 execute: function (context, propertyName, fontItalicChecked) {
  54.                     refreshDesigner(context)
  55.                 }
  56.             }
  57.         }
  58.         
  59.         customState = 1
  60.     }
  61.     designer.setConfig(config)
  62. }
复制代码
回复 使用道具 举报
和和
注册会员   /  发表于:2025-1-21 16:50:26
5#
Matthew.Xue 发表于 2025-1-21 14:13
您好, 请问您是想动态改变设计器上自定义工具栏的文字和图标吗?有一部分工具栏是带值的,比如字体、字 ...

使用这demo解决了 非常感谢
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-1-21 16:54:08
6#
感谢您的支持~

评分

参与人数 1满意度 +5 收起 理由
和和 + 5

查看全部评分

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