17.1.4 数据透视表如何禁用
本帖最后由 Joestar.Xu 于 2024-12-2 09:27 编辑数据透视表如何禁用,让用户点击不了?
您好!请教下您的业务场景是否需要透视表?如果不需要使用数据透视表,在项目中不引入数据透视表的依赖,这样工具栏中也不会显示数据透视表选项按钮。如果您的业务场景中有使用数据透视表,而不希望用户再创建数据透视表,那么需要设置相关选项的visibleContext属性值,该值记录了控制选项可用和禁用的属性名称
如下图右侧所示为工具栏功能按钮”数据透视表“对应的命令,从图中可以了解到命令对象中包含有属性enableContext,该属性记录了一个复杂逻辑表达式,每项表达式都是与配置相关的全局变量,这个逻辑表达式综合控制了命令对应的菜单选项按钮是否可用。
一般情况下,不同命令的enableContext中的逻辑表达式可能存在相同项,为了避免改动影响其他功能按钮的可用状态,可以在enableContext中添加自定义的配置属性。如下代码所示,设置自定义配置属性后将其注册至全局即可。
var config = GC.Spread.Sheets.Designer.DefaultConfig;
//自定义逻辑属性
designer.setData('myPivotShow', true);
var pivotShowCmd = GC.Spread.Sheets.Designer.getCommand("insertPivotTable");
//将自定义逻辑属性加到enableContext中
pivotShowCmd.enableContext = pivotShowCmd.enableContext + ' && myPivotShow';
config.commandMap = {};
Object.assign(config.commandMap, {
'insertPivotTable': pivotShowCmd
});
designer.setConfig(config);
//设置逻辑属性值,可以控制功能按钮可用或禁用
designer.setData('myPivotShow', false);
上述代码的作用效果如下图所示,可令”数据透视表“选项按钮灰显,点击不可用。
好的 感谢,等下我去试试 web_chuan 发表于 2024-12-2 09:57
好的 感谢,等下我去试试
不客气!
:mj72: 您好,由于本帖较长时间没有回复,本帖先做结贴处理了,后续如您有其他问题,欢迎您开新帖提问。
页:
[1]