如何限制填报模板不允许填报人员修改格式
如题,想要实现避免填报人员在填报数据擅自修改填报任务模板单元格设定好的格式,只允许其增加行以及填写数据,不能编辑“设置单元格格式”选项,或不能填写违背模板格式的数据,请教应当如何实现?您好,您说的填报模板具体是指?有相关示例或截图吗?
Simon.Sun 发表于 2025-1-7 16:15
您好,您说的填报模板具体是指?有相关示例或截图吗?
打比方 类似这样的填报模板 不同单元格都是设置有一定的格式
18577074114 发表于 2025-1-7 16:23
打比方 类似这样的填报模板 不同单元格都是设置有一定的格式
也就是说您需要对不同用户做权限控制吧?那么,在右键菜单中禁用或者删除“设置单元格格式”功能选项,可以参考官网文档了解详情:
禁用菜单选项--https://demo.grapecity.com.cn/spreadjs/help/docs/faqs/contextMenu/disable
删除菜单选项--https://demo.grapecity.com.cn/spreadjs/help/docs/faqs/contextMenu/delete 本帖最后由 18577074114 于 2025-1-8 15:06 编辑
Wilson.Zhang 发表于 2025-1-7 17:30
也就是说您需要对不同用户做权限控制吧?那么,在右键菜单中禁用或者删除“设置单元格格式”功能选项,可 ...
谢谢版主! Wilson.Zhang 发表于 2025-1-7 17:30
也就是说您需要对不同用户做权限控制吧?那么,在右键菜单中禁用或者删除“设置单元格格式”功能选项,可 ...
经过尝试您推荐的禁用和删除,发现并未实现,比如禁用,直接就把整个菜单给禁用了,没能单独禁用某个指定功能;删除的话也没有生效。
18577074114 发表于 2025-1-8 15:04
经过尝试您推荐的禁用和删除,发现并未实现,比如禁用,直接就把整个菜单给禁用了,没能单独禁用某个指定 ...
注意到您之前的图示中使用的是SpreadJS Designer,那就以Designer中隐藏右键菜单中的菜单选项为例。
右键菜单中每个选项对应有一个命令对象,命令对象中的visibleContext属性值是SpreadJS用于控制该命令对应的菜单选项是否可见的变量的名称。
一般情况下,不同菜单选项可能有一些关联关系,对应的visibleContext属性值中包含有相同变量名称,所以直接修改这些变量名称的取值并不可靠。
不过,我们可以在当前visibleContext属性值上通过逻辑与关系扩展控制变量,之后在Designer全局设置扩展的控制变量为true或false,即可作用于菜单选项是否可见。如下代码所示:
var config = GC.Spread.Sheets.Designer.DefaultConfig;
//根据名称获取命令对象
var cmd = GC.Spread.Sheets.Designer.getCommand('formatCells');
//自定义控制菜单选项命令是否可见
cmd.visibleContext = '(' + cmd.visibleContext + ') && canFormatCells';
config.commandMap = {};
Object.assign(config.commandMap, {
"formatCells": cmd
});
//设置为false,隐藏选项;设置为true,显示选项
designer.setData('canFormatCells', false);
//重新设置DefaultConfig对象,即对Designer重配置
designer.setConfig(config);
可以参考下如下链接中的帖子:
https://gcdn.grapecity.com.cn/showtopic-222283.html
Wilson.Zhang 发表于 2025-1-8 17:07
注意到您之前的图示中使用的是SpreadJS Designer,那就以Designer中隐藏右键菜单中的菜单选项为例。
...
谢谢版主,我学习学习。刚才使用表格保护里的代码初步让一个表里的某个选项不可用,但怎么让整个工作簿(包含多张表)都适用相同规则,是否有简便的设置?还是只能逐个表格去设置? 18577074114 发表于 2025-1-8 17:33
谢谢版主,我学习学习。刚才使用表格保护里的代码初步让一个表里的某个选项不可用,但怎么让整个工作簿( ...
在7楼给您提供的方式是对整个Designer对象生效的,隐藏了“设置单元格格式”后,在当前Designer中的任何Worksheet的右键菜单中都不可见。
您提到的“表格保护”是指表单保护吗?表单保护功能对具体Worksheet产生效用,如果需要对Workbook中的每个Worksheet设置表单保护,逐一设置即可。
页:
[1]