找回密码
 立即注册

QQ登录

只需一步,快速开始

晓名

初级会员

28

主题

101

帖子

397

积分

初级会员

积分
397
晓名
初级会员   /  发表于:2024-8-23 11:36  /   查看:1222  /  回复:11
1金币

sheet.options.isProtected = true;

之后右键隐藏/显示行列被禁用了,怎么解开
image.png654762878.png

11 个回复

正序浏览
晓名
初级会员   /  发表于:2024-9-2 17:27:34
来自 9#
Wilson.Zhang 发表于 2024-8-30 15:39
B项目有自己的Spread实例吧,那它就有自己的配置,在B项目中同样设置即可。

sheet.options.protectionOptions.formatRows/formatColumns = true;好像是不生效,请查看一下demo

demo.rar

1.2 KB, 下载次数: 68

回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-9-3 15:49:10
12#
晓名 发表于 2024-9-3 13:44
我的demo中都列举出来了

看到您提供的demo中列出了一些属性,您在官网API文档中看到的那些表单保护属性仍然可以通过代码设置生效,但是formatColumns和formatRows例外。您使用的是SpreadJS组件,而非在线表格编辑器Designer。之前给您提供的解决方案在Designer中可行,由于SpreadJS控件中没有formatColumns和formatRows这两个表单保护属性,因此设置后也无效。既然无法通过设置表单保护属性来支持所需,那么可以通过控制菜单选项对象的disable属性实现,即对隐藏行、取消隐藏行、隐藏列、取消隐藏列等四个菜单选项的disable属性设置为false,令其状态为可用即可。
回复 使用道具 举报
晓名
初级会员   /  发表于:2024-9-3 13:44:54
11#
Wilson.Zhang 发表于 2024-9-3 10:03
从您提供的demo中了解到您使用的是SpreadJS表格控件,formatColumns和formatRows保护属性暂时只支持在在 ...

我的demo中都列举出来了
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-9-3 10:03:14
10#
晓名 发表于 2024-9-2 17:27
sheet.options.protectionOptions.formatRows/formatColumns = true;好像是不生效,请查看一 ...

从您提供的demo中了解到您使用的是SpreadJS表格控件,formatColumns和formatRows保护属性暂时只支持在在线表格编辑器中使用。这两个属性的作用在于控制行头和列头右键菜单中“隐藏”和“取消隐藏”选项的可用状态,所以咱们可以另辟蹊径满足您的需要,即在右键弹出菜单框时将相关菜单选项设置可用状态令其可用即可,可以参考如下代码:
  1. sheet.options.isProtected = true;
  2. spread.contextMenu.onOpenMenu = function (menuData, itemsDataForShown, hitInfo, spread) {
  3.     itemsDataForShown.forEach(function (itemData) {
  4.         if (itemData.name === "gc.spread.hideRows" || itemData.name === "gc.spread.unhideRows" ||
  5.             itemData.name === "gc.spread.hideColumns" || itemData.name === "gc.spread.unhideColumns") {
  6.             itemData.disable = false;
  7.         }
  8.         //do what you want to change.
  9.     });
  10. }
复制代码


回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-30 15:39:17
8#
晓名 发表于 2024-8-30 13:42
还有个问题,就是这个配置我设置在A项目里边,然后打包,B项目npm install引入A项目它不生效了?但是要是 ...

B项目有自己的Spread实例吧,那它就有自己的配置,在B项目中同样设置即可。
回复 使用道具 举报
晓名
初级会员   /  发表于:2024-8-30 13:42:29
7#
Wilson.Zhang 发表于 2024-8-27 11:10
抱歉因为属性列表没有formatRows属性给您造成了不便,我们反馈下这个现象。遇到这种情况时,您也可以先通 ...

还有个问题,就是这个配置我设置在A项目里边,然后打包,B项目npm install引入A项目它不生效了?但是要是不在另一个项目中引入他是可以的,这有什么说法吗?
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-27 11:10:04
6#
晓名 发表于 2024-8-27 10:02
我的意思是我了api文档,没发现有你给我这个formatRows的我才来找你咨询

抱歉因为属性列表没有formatRows属性给您造成了不便,我们反馈下这个现象。遇到这种情况时,您也可以先通过菜单选项设置,再通过代码查询来了解相关属性名称。
回复 使用道具 举报
晓名
初级会员   /  发表于:2024-8-27 10:02:29
5#
Wilson.Zhang 发表于 2024-8-23 16:03
我们在16版本也验证过,是可以的,您指的是没有哪个API呢?

image.png632043151.png 我的意思是我了api文档,没发现有你给我这个formatRows的我才来找你咨询
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-23 16:03:10
4#

我们在16版本也验证过,是可以的,您指的是没有哪个API呢?
回复 使用道具 举报
晓名
初级会员   /  发表于:2024-8-23 14:03:15
3#
Wilson.Zhang 发表于 2024-8-23 11:36
您好!您图示中的右键菜单是列头右键菜单,在开启表单保护时开启”设置列格式“即可不禁用”隐藏“和”显示 ...

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