找回密码
 立即注册

QQ登录

只需一步,快速开始

晓名

初级会员

28

主题

101

帖子

397

积分

初级会员

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

sheet.options.isProtected = true;

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

最佳答案

查看完整内容

您好!您图示中的右键菜单是列头右键菜单,在开启表单保护时开启”设置列格式“即可不禁用”隐藏“和”显示“,如下图所示: 也可以通过如下代码设置: 关于表单保护属性,可以参考API文档了解详情: https://demo.grapecity.com.cn/spreadjs/help/api/interfaces/GC.Spread.Sheets.IProtectionOptions#allowdeletecolumns

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, 下载次数: 66

回复 使用道具 举报
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2024-8-23 11:36:28
来自 2#
您好!您图示中的右键菜单是列头右键菜单,在开启表单保护时开启”设置列格式“即可不禁用”隐藏“和”显示“,如下图所示:
1724386744471.png757938232.png

也可以通过如下代码设置:
  1. sheet.options.isProtected = true;
  2. sheet.options.protectionOptions.formatColumns = true;
复制代码


关于表单保护属性,可以参考API文档了解详情:
https://demo.grapecity.com.cn/spreadjs/help/api/interfaces/GC.Spread.Sheets.IProtectionOptions#allowdeletecolumns
回复 使用道具 举报
晓名
初级会员   /  发表于:2024-8-23 14:03:15
3#
Wilson.Zhang 发表于 2024-8-23 11:36
您好!您图示中的右键菜单是列头右键菜单,在开启表单保护时开启”设置列格式“即可不禁用”隐藏“和”显示 ...

api中没有这个
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-23 16:03:10
4#

我们在16版本也验证过,是可以的,您指的是没有哪个API呢?
回复 使用道具 举报
晓名
初级会员   /  发表于: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-27 11:10:04
6#
晓名 发表于 2024-8-27 10:02
我的意思是我了api文档,没发现有你给我这个formatRows的我才来找你咨询

抱歉因为属性列表没有formatRows属性给您造成了不便,我们反馈下这个现象。遇到这种情况时,您也可以先通过菜单选项设置,再通过代码查询来了解相关属性名称。
回复 使用道具 举报
晓名
初级会员   /  发表于:2024-8-30 13:42:29
7#
Wilson.Zhang 发表于 2024-8-27 11:10
抱歉因为属性列表没有formatRows属性给您造成了不便,我们反馈下这个现象。遇到这种情况时,您也可以先通 ...

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

B项目有自己的Spread实例吧,那它就有自己的配置,在B项目中同样设置即可。
回复 使用道具 举报
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. }
复制代码


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