找回密码
 立即注册

QQ登录

只需一步,快速开始

Winny

超级版主

130

主题

246

帖子

1530

积分

超级版主

Rank: 8Rank: 8

积分
1530
Winny
超级版主   /  发表于:2023-8-22 11:18  /   查看:805  /  回复:0
1. 需求背景
根据用户权限,需要禁用设计器文件Tab下的某一个功能按钮,如下所示:

image.png852321777.png
上图中,禁用了文件Tab下导入文件的功能。
2. 实现方式
整体实现方式分三个步骤,依次为获取文件模板结构、对位对应功能按钮,设置其不可用状态、重新注册修改完的面板,详细代码如下:
  1. let fileMenuPanelTemplate = GC.Spread.Sheets.Designer.getTemplate(GC.Spread.Sheets.Designer.TemplateNames.FileMenuPanelTemplate); // 获取文件模板
  2. fileMenuPanelTemplate.content[0].children[0].children[0].children[0].children[5].items[0].enabled = false; // 定位import按钮位置,设置其不可用属性
  3. GC.Spread.Sheets.Designer.registerTemplate(GC.Spread.Sheets.Designer.TemplateNames.FileMenuPanelTemplate, fileMenuPanelTemplate); // 重新注册模板
复制代码
注意:本文使用的设计器是V16.2.0,不同的版本,对应功能按钮的数组位置可能不对应,具体结构可以先打印出来查看,根据数组结构定位对应的功能位置,如下所示:
image.png86618651.png
完整的demo代码可以点击这里跳转查看。

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部