如何在表单保护状态下取消禁用菜单栏状态
本帖最后由 Ellia.Duan 于 2023-8-24 09:26 编辑大家发现,在Designer中,如果设置表单保护后,发现有一部分菜单栏是禁用状态。
例如,这时候如果想要取消合并单元格这个菜单栏的禁用状态,可以按照下面的步骤进行。
首先在控制台打印GC.Spread.Sheets.Designer.DefaultConfig 找到ribbon参数,一次打开“打开”,找到合并单元的命令,如下图所示,发现是“mergeCenter”
这时候在控制台打印GC.Spread.Sheets.Designer.getCommand('mergeCenter').enableContext 获取'mergeCenter'这个命令的enableContext 属性,结果如下:
发现有一个!IsProtected 其意思是如果不是表单保护,就可以使用mergeCenter 。
那么如果想要在表单保护状态下使用mergeCenter ,做法就是删除这个!IsProtected
具体代码如下
var designer = new GC.Spread.Sheets.Designer.Designer(document.getElementById("designerHost"));
let designerConfig = JSON.parse(JSON.stringify(GC.Spread.Sheets.Designer.DefaultConfig));
var newFun = GC.Spread.Sheets.Designer.getCommand('mergeCenter'); //mergeCenter
let enableContext = newFun.enableContext;
//这里解决的思路是删除 !IsProtected
let result;
if (enableContext.indexOf("!IsProtected") > -1) {
let index = enableContext.indexOf("!IsProtected");
result = enableContext.substr(index + "!IsProtected".length + 3, enableContext.length);
}
newFun.enableContext = result
designerConfig.commandMap = {
"mergeCenter": newFun
}
designer.setConfig(designerConfig)
执行上述代码后发现,表单保护状态下可以使用合并单元格按钮了,如下图所示
页:
[1]