找回密码
 立即注册

QQ登录

只需一步,快速开始

web_chuan
金牌服务用户   /  发表于:2024-12-2 09:13  /   查看:98  /  回复:4
10金币
本帖最后由 Joestar.Xu 于 2024-12-2 09:27 编辑

数据透视表如何禁用,让用户点击不了?

最佳答案

查看完整内容

您好!请教下您的业务场景是否需要透视表?如果不需要使用数据透视表,在项目中不引入数据透视表的依赖,这样工具栏中也不会显示数据透视表选项按钮。如果您的业务场景中有使用数据透视表,而不希望用户再创建数据透视表,那么需要设置相关选项的visibleContext属性值,该值记录了控制选项可用和禁用的属性名称 如下图右侧所示为工具栏功能按钮”数据透视表“对应的命令,从图中可以了解到命令对象中包含有属性enableContext, ...

4 个回复

倒序浏览
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2024-12-2 09:13:16
来自 2#
您好!请教下您的业务场景是否需要透视表?如果不需要使用数据透视表,在项目中不引入数据透视表的依赖,这样工具栏中也不会显示数据透视表选项按钮。如果您的业务场景中有使用数据透视表,而不希望用户再创建数据透视表,那么需要设置相关选项的visibleContext属性值,该值记录了控制选项可用和禁用的属性名称

如下图右侧所示为工具栏功能按钮”数据透视表“对应的命令,从图中可以了解到命令对象中包含有属性enableContext,该属性记录了一个复杂逻辑表达式,每项表达式都是与配置相关的全局变量,这个逻辑表达式综合控制了命令对应的菜单选项按钮是否可用。
1733103149117.png581467589.png

一般情况下,不同命令的enableContext中的逻辑表达式可能存在相同项,为了避免改动影响其他功能按钮的可用状态,可以在enableContext中添加自定义的配置属性。如下代码所示,设置自定义配置属性后将其注册至全局即可。
  1. var config = GC.Spread.Sheets.Designer.DefaultConfig;
  2. //  自定义逻辑属性
  3. designer.setData('myPivotShow', true);
  4. var pivotShowCmd = GC.Spread.Sheets.Designer.getCommand("insertPivotTable");
  5. //  将自定义逻辑属性加到enableContext中
  6. pivotShowCmd.enableContext = pivotShowCmd.enableContext + ' && myPivotShow';
  7. config.commandMap = {};
  8. Object.assign(config.commandMap, {
  9.     'insertPivotTable': pivotShowCmd
  10. });
  11. designer.setConfig(config);
  12. //  设置逻辑属性值,可以控制功能按钮可用或禁用
  13. designer.setData('myPivotShow', false);
复制代码

上述代码的作用效果如下图所示,可令”数据透视表“选项按钮灰显,点击不可用。
1733103565165.png959515380.png
回复 使用道具 举报
web_chuan
金牌服务用户   /  发表于:2024-12-2 09:57:39
3#
好的 感谢,等下我去试试
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-12-2 12:00:08
4#
web_chuan 发表于 2024-12-2 09:57
好的 感谢,等下我去试试

不客气!
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:6 天前
5#
您好,由于本帖较长时间没有回复,本帖先做结贴处理了,后续如您有其他问题,欢迎您开新帖提问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部