找回密码
 立即注册

QQ登录

只需一步,快速开始

Joestar.Xu SpreadJS 开发认证

超级版主

43

主题

7231

帖子

9452

积分

超级版主

Rank: 8Rank: 8

积分
9452

SpreadJS 认证SpreadJS 高级认证

Joestar.Xu SpreadJS 开发认证
超级版主   /  发表于:2023-11-30 15:06  /   查看:1063  /  回复:0
本帖最后由 AlexZ 于 2023-12-4 12:20 编辑

问题背景:有部分客户在设置了表单保护后,将部分单元格的locked属性设置为了false,但是在这种情况下右键菜单中的“编辑富文本”选项仍然是disabled状态,这不太符合我们的认知,在这种情况下,locked属性为false的单元格应该是可以编辑的,对于这种问题应该如何解决呢?


image.png433728942.png

image.png221426390.png

解决方法:要想解决这个问题的话也很简单,只需要重写一下右键菜单即可,在打开右键菜单前检测一下单元格的locked属性,如果为false,那么就将“编辑富文本”选项的disable属性置为false即可,具体代码可以参考:

  1. let oldOpenMenu = spread.contextMenu.onOpenMenu;
  2. spread.contextMenu.onOpenMenu = function (
  3.   menuData,
  4.   itemsDataForShown,
  5.   hitInfo,
  6.   spread
  7. ) {
  8.   oldOpenMenu.apply(this, arguments);
  9.   console.log(itemsDataForShown);
  10.   for (const element of itemsDataForShown) {
  11.     const item = element;
  12.     if (item.name == "richText" && !sheet.getCell(sheet.getSelections()[0].row, sheet.getSelections()[0].col).locked()) {
  13.       item.disable = false;
  14.     }
  15.   }
  16. };
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部