找回密码
 立即注册

QQ登录

只需一步,快速开始

18577074114

中级会员

70

主题

288

帖子

894

积分

中级会员

积分
894

Wyn认证

18577074114
中级会员   /  发表于:2025-1-7 12:20  /   查看:48  /  回复:7
1金币
如题,想要实现避免填报人员在填报数据擅自修改填报任务模板单元格设定好的格式,只允许其增加行以及填写数据,不能编辑“设置单元格格式”选项,或不能填写违背模板格式的数据,请教应当如何实现?

7 个回复

倒序浏览
Simon.Sun活字格认证 Wyn认证
超级版主   /  发表于:昨天 16:15
沙发
您好,您说的填报模板具体是指?有相关示例或截图吗?
回复 使用道具 举报
18577074114
中级会员   /  发表于:昨天 16:23
板凳
Simon.Sun 发表于 2025-1-7 16:15
您好,您说的填报模板具体是指?有相关示例或截图吗?

image.png111604308.png 打比方 类似这样的填报模板 不同单元格都是设置有一定的格式
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:昨天 17:30
地板
18577074114 发表于 2025-1-7 16:23
打比方 类似这样的填报模板 不同单元格都是设置有一定的格式

也就是说您需要对不同用户做权限控制吧?那么,在右键菜单中禁用或者删除“设置单元格格式”功能选项,可以参考官网文档了解详情:
禁用菜单选项--https://demo.grapecity.com.cn/sp ... contextMenu/disable
删除菜单选项--https://demo.grapecity.com.cn/sp ... /contextMenu/delete
回复 使用道具 举报
18577074114
中级会员   /  发表于:8 小时前
5#
本帖最后由 18577074114 于 2025-1-8 15:06 编辑
Wilson.Zhang 发表于 2025-1-7 17:30
也就是说您需要对不同用户做权限控制吧?那么,在右键菜单中禁用或者删除“设置单元格格式”功能选项,可 ...

谢谢版主!
回复 使用道具 举报
18577074114
中级会员   /  发表于:3 小时前
6#
Wilson.Zhang 发表于 2025-1-7 17:30
也就是说您需要对不同用户做权限控制吧?那么,在右键菜单中禁用或者删除“设置单元格格式”功能选项,可 ...

经过尝试您推荐的禁用和删除,发现并未实现,比如禁用,直接就把整个菜单给禁用了,没能单独禁用某个指定功能;删除的话也没有生效。
33710b233c6b30f00b274aca8030a33.png381491698.png
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:1 小时前
7#
18577074114 发表于 2025-1-8 15:04
经过尝试您推荐的禁用和删除,发现并未实现,比如禁用,直接就把整个菜单给禁用了,没能单独禁用某个指定 ...

注意到您之前的图示中使用的是SpreadJS Designer,那就以Designer中隐藏右键菜单中的菜单选项为例。

右键菜单中每个选项对应有一个命令对象,命令对象中的visibleContext属性值是SpreadJS用于控制该命令对应的菜单选项是否可见的变量的名称。
一般情况下,不同菜单选项可能有一些关联关系,对应的visibleContext属性值中包含有相同变量名称,所以直接修改这些变量名称的取值并不可靠。
不过,我们可以在当前visibleContext属性值上通过逻辑与关系扩展控制变量,之后在Designer全局设置扩展的控制变量为true或false,即可作用于菜单选项是否可见。如下代码所示:

  1. var config = GC.Spread.Sheets.Designer.DefaultConfig;
  2. //  根据名称获取命令对象
  3. var cmd = GC.Spread.Sheets.Designer.getCommand('formatCells');
  4. //  自定义控制菜单选项命令是否可见
  5. cmd.visibleContext = '(' + cmd.visibleContext + ') && canFormatCells';
  6. config.commandMap = {};
  7. Object.assign(config.commandMap, {
  8.     "formatCells": cmd
  9. });
  10. //  设置为false,隐藏选项;设置为true,显示选项
  11. designer.setData('canFormatCells', false);
  12. //  重新设置DefaultConfig对象,即对Designer重配置
  13. designer.setConfig(config);
复制代码

可以参考下如下链接中的帖子:

https://gcdn.grapecity.com.cn/showtopic-222283.html
回复 使用道具 举报
18577074114
中级会员   /  发表于:半小时前
8#
Wilson.Zhang 发表于 2025-1-8 17:07
注意到您之前的图示中使用的是SpreadJS Designer,那就以Designer中隐藏右键菜单中的菜单选项为例。

...

谢谢版主,我学习学习。刚才使用表格保护里的代码初步让一个表里的某个选项不可用,但怎么让整个工作簿(包含多张表)都适用相同规则,是否有简便的设置?还是只能逐个表格去设置?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部