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

QQ登录

只需一步,快速开始

oaimisgnay

注册会员

6

主题

12

帖子

36

积分

注册会员

积分
36
oaimisgnay
注册会员   /  发表于:2025-4-14 10:39  /   查看:75  /  回复:1
1金币
本帖最后由 oaimisgnay 于 2025-4-14 10:43 编辑


他俩都隐藏
image.png696395568.png
image.png369950560.png

最佳答案

查看完整内容

您好!您使用的应该是带有顶部工具栏和公式编辑框的Designer,工具栏中可见的各功能按钮和公式编辑框都作为配置项存在。那么,有如下方法可以满足您的需要。 1. 在DefaultConfig对象中删除对应元素即可,参考如下代码: 2. 注意上述代码直接删除了公式编辑框,无法恢复。如果您希望可以控制其是否显示,可以扩展公式编辑框对应的命令对象中的visibleContext属性值,如下图所示: visibleContext属性值是字符串,由各布 ...

1 个回复

倒序浏览
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2025-4-14 10:39:27
来自 2#
本帖最后由 Wilson.Zhang 于 2025-4-14 11:35 编辑

您好!您使用的应该是带有顶部工具栏和公式编辑框的Designer,工具栏中可见的各功能按钮和公式编辑框都作为配置项存在。那么,有如下方法可以满足您的需要。

1. 在DefaultConfig对象中删除对应元素即可,参考如下代码:
  1. var designer = GC.Spread.Sheets.Designer.findControl('gc-designer-container');
  2. var config = GC.Spread.Sheets.Designer.DefaultConfig;
  3. //  删除公式编辑栏
  4. config.sidePanels.splice(0, 1);
  5. designer.setConfig(config);
复制代码

2. 注意上述代码直接删除了公式编辑框,无法恢复。如果您希望可以控制其是否显示,可以扩展公式编辑框对应的命令对象中的visibleContext属性值,如下图所示:
1744601505750.png980784912.png

visibleContext属性值是字符串,由各布尔类型控制变量名称和逻辑运算符串联而成,控制变量实际值通过逻辑运算决定某元素是否可见。然而,由于不同命令的visibleContext属性值中存在相同控制变量名称,所以直接修改已经存在的控制变量可能会影响其他元素的可见性。因此,通过与逻辑运算续写visibleContext属性值,重新注册命令后,即可通过Designer:setData()设置自定义控制变量,从而实现控制元素可见性。可参考如下代码:
  1. var designer = GC.Spread.Sheets.Designer.findControl('gc-designer-container');
  2. var config = GC.Spread.Sheets.Designer.DefaultConfig;
  3. var cmd = GC.Spread.Sheets.Designer.getCommand("formulaBarPanel");
  4. cmd.visibleContext = '(' + cmd.visibleContext + ') && myFormulaFlag';
  5. config.commandMap = {
  6.     'formulaBarPanel': cmd
  7. }
  8. designer.setData('myFormulaFlag', false);
  9. designer.setConfig(config);
复制代码

运行效果如下动图所示:
控制公式编辑框可见性.gif

3. 或者直接通过公式编辑框对应的DOM元素的style控制是否可见,如下代码所示:
  1. document.getElementsByClassName("top-panels")[0].style.display = 'none';
复制代码

您可以根据需要选择上述方法实现。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部