找回密码
 立即注册

QQ登录

只需一步,快速开始

枫叶~

注册会员

8

主题

22

帖子

72

积分

注册会员

积分
72
枫叶~
注册会员   /  发表于:2023-6-29 10:41  /   查看:1518  /  回复:6
本帖最后由 枫叶~ 于 2023-6-29 10:46 编辑

image.png234085387.png
  1. <div class="blockcode"><blockquote>            protectionOptions: {
  2.                 allowSelectLockedCells: false, //用户是否可以选中被锁定的单元格。
  3.                 allowSelectUnlockedCells: true, //用户是否可以选中未被锁定的单元格。
  4.                 allowFilter: true, //用户是否可以对一片单元格区域进行筛选。
  5.                 allowSort: false, //用户是否可以对一片单元格区域进行排序。
  6.                 allowResizeRows: false, //用户是否可以改变行高。
  7.                 allowResizeColumns: false, //用户是否可以改变列宽。
  8.                 allowEditObjects: false, //用户是否可以编辑浮动元素。
  9.                 allowDragInsertRows: false, //用户是否可以拖拽插入行。
  10.                 allowDragInsertColumns: false, //用户是否可以拖拽插入列。
  11.                 allowInsertRows: false, //用户是否可以插入行。
  12.                 allowInsertColumns: false, //用户是否可以插入列。
  13.                 allowDeleteRows: false, //用户是否可以删除行。
  14.                 allowDeleteColumns: false //用户是否可以删除列。
  15.             }
  16.                              activeSheet.options.isProtected = true;
  17.                                 activeSheet.options.protectionOptions = this.protectionOptions;
  18.                                 let defaultStyle = new GC.Spread.Sheets.Style();
  19.                                 defaultStyle.locked = false;
  20.                                 activeSheet.setDefaultStyle(defaultStyle, GcSpread.Sheets.SheetArea.viewport);
  21.                                 let style = new GC.Spread.Sheets.Style();
  22.                                 style.locked = false;
  23.                                 style.backColor = '#ccc'
  24.                                 console.log(sheetName)
  25.                                 console.warn("可编辑区域:" + that.editArea);
  26.                                 // activeSheet.getRange(that.editArea).setStyle(style);
  27.                                 activeSheet.getRange('A22:AI29').setStyle(style);
复制代码


allowSelectLockedCells 设置的false 图片可以看出来被锁定的区域能被选中,也能被编辑
奇怪的是只有 AJ10:AK51这块有问题,

我导出使用wps打开又是正常的,只有可编辑区域可编辑了。

6 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-6-29 12:24:32
沙发
猜测大概率是因为defaultStyle设置了locked为false
  1. let defaultStyle = new GC.Spread.Sheets.Style();
  2.                                 defaultStyle.locked = false;
  3.                                 activeSheet.setDefaultStyle(defaultStyle, GcSpread.Sheets.SheetArea.viewport);
复制代码

然后没有给 AJ10:AK51设置过style及locked属性,那么默认locked为false即在保护状态下仍然可以编辑
回复 使用道具 举报
枫叶~
注册会员   /  发表于:2023-7-4 17:31:10
板凳
Clark.Pan 发表于 2023-6-29 12:24
猜测大概率是因为defaultStyle设置了locked为false

然后没有给 AJ10:AK51设置过style及locked属性,那么 ...

确实是这个问题
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-7-4 17:37:51
地板
枫叶~ 发表于 2023-7-4 17:31
确实是这个问题

好的,那您还有其他问题吗?
回复 使用道具 举报
枫叶~
注册会员   /  发表于:2023-7-4 18:04:40
5#
还有个问题就是,模板的默认样试被覆盖了
回复 使用道具 举报
枫叶~
注册会员   /  发表于:2023-7-4 18:07:07
6#
枫叶~ 发表于 2023-7-4 18:04
还有个问题就是,模板的默认样试被覆盖了

https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=175810&extra=&mobile=2
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-7-4 18:46:08
7#
收到,那本帖就关闭了,新的问题我们会在新开的帖子中进行回答
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部