请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

阿仁

初级会员

37

主题

167

帖子

388

积分

初级会员

积分
388
阿仁
初级会员   /  发表于:2025-11-27 16:52  /   查看:67  /  回复:12
1金币
如题
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

那理解您想要解决的问题是表单保护开启后顶部工具栏的部分菜单按钮不允许被点击使用了,但这是表单保护的控制范围。在15版本要满足“禁用第一列和前8行的编辑功能”的同时,表单保护会限制使用工具栏的功能按钮。 18版本的“允许编辑单元格”特性能满足您的双重需求,但是您也说了15之后的版本和项目后端不太兼容。 在15版本要解开工具栏的按钮,需要改写DefaultConfig对象中各按钮对应的命令对象中的enableContext属性,自 ...

12 个回复

最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2025-11-27 16:52:26
来自 8#
阿仁 发表于 2025-11-28 16:46
我的问题是锁定单元格编辑之后,无法使用操作面板,您让我去掉单元格锁定,这是把我的问题解决了?那我锁定 ...

那理解您想要解决的问题是表单保护开启后顶部工具栏的部分菜单按钮不允许被点击使用了,但这是表单保护的控制范围。在15版本要满足“禁用第一列和前8行的编辑功能”的同时,表单保护会限制使用工具栏的功能按钮。

18版本的“允许编辑单元格”特性能满足您的双重需求,但是您也说了15之后的版本和项目后端不太兼容。
在15版本要解开工具栏的按钮,需要改写DefaultConfig对象中各按钮对应的命令对象中的enableContext属性,自定义一个控制逻辑变量,通过逻辑运算符拼接在原enableContext后面,在开启表单保护后,通过Designer.setData()对这些自定义控制逻辑变量设置为true,以此控制菜单按钮在表单保护后可触发,如下图所示:



如此反复,对所有您希望在表单保护开启后还能点击触发的功能做相同处理。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-11-27 17:23:39
2#
您好!通过工具栏中的“撤销工作表保护”就能解锁,UI操作方式如下图:


也可以通过如下代码取消保护:
  1. sheet.options.isProtected = false;
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
阿仁
初级会员   /  发表于:2025-11-28 15:24:39
3#
Wilson.Zhang 发表于 2025-11-27 17:23
您好!通过工具栏中的“撤销工作表保护”就能解锁,UI操作方式如下图:

我的需求是禁用第一列和前8行的编辑功能,同时面板可以编辑。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-11-28 16:05:39
4#
阿仁 发表于 2025-11-28 15:24
我的需求是禁用第一列和前8行的编辑功能,同时面板可以编辑。

在您使用的15版本,单元格有锁定属性,默认为true,开启表单保护后能够对锁定属性为true的单元格禁止编辑。因此,可以对需要禁止编辑的单元格设置锁定属性为true,对允许编辑的单元格设置锁定属性为false,结合表单保护即可实现您想要的效果。

另外呢,18版本支持了一个专门控制单元格是否能够被编辑的属性,即allowEditInCells,UI控制如下图所示:


不需要开启表单保护,单凭“允许编辑单元格”属性即可禁止对单元格编辑,请您知悉。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
阿仁
初级会员   /  发表于:2025-11-28 16:09:58
5#
Wilson.Zhang 发表于 2025-11-28 16:05
在您使用的15版本,单元格有锁定属性,默认为true,开启表单保护后能够对锁定属性为true的单元格禁止编辑 ...

15之后的版本和我们后端的文件读取插件不兼容,所以我能理解15版本这个问题无法解决嘛
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-11-28 16:21:24
6#
阿仁 发表于 2025-11-28 16:09
15之后的版本和我们后端的文件读取插件不兼容,所以我能理解15版本这个问题无法解决嘛

应该不能理解为“15版本这个问题无法解决”吧!难道我理解错您的需求了吗?

上条回复中也给出了15版本中的解决方案,请您参考:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
阿仁
初级会员   /  发表于:2025-11-28 16:46:06
7#
我的问题是锁定单元格编辑之后,无法使用操作面板,您让我去掉单元格锁定,这是把我的问题解决了?那我锁定单元格的意义是什么?
回复 使用道具 举报
阿仁
初级会员   /  发表于:2025-12-1 14:40:26
9#
我可以通过什么API获取所有的命令嘛,我要把所有的都解开
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-12-1 17:29:49
10#
阿仁 发表于 2025-12-1 14:40
我可以通过什么API获取所有的命令嘛,我要把所有的都解开

工具栏提供的功能选项对应为DefaultConfig对象的ribbon属性值,如下图所示:


其中记录了每个选项的属性,包括对应的命令,可以从这里入手了解每个选项对应的命令名称。然后通过Designer:getCommand()获取命令对象,进行进一步控制设置。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部