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

QQ登录

只需一步,快速开始

dybxin

注册会员

17

主题

41

帖子

150

积分

注册会员

积分
150
dybxin
注册会员   /  发表于:2024-2-4 17:04  /   查看:258  /  回复:5
1金币
本帖最后由 dybxin 于 2024-2-4 17:15 编辑

开启表单保护,并且添加了protectionOptions.allowDeleteRows = true, 但是删除不了加载的历史数据行, 新insert的行却可以删除。

最佳答案

查看完整内容

那就只能通过重写右键菜单的删除指令,使用接口deleteRows强行删除行了,具体请参考:https://gcdn.grapecity.com.cn/showtopic-83813-1-1.html

5 个回复

倒序浏览
最佳答案
最佳答案
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-2-4 17:04:21
来自 6#
那就只能通过重写右键菜单的删除指令,使用接口deleteRows强行删除行了,具体请参考:https://gcdn.grapecity.com.cn/showtopic-83813-1-1.html
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-2-4 17:30:07
2#
您好,猜测是因为历史的数据行的locked属性为true,新insert的行的locked属性为false,所以新insert的行可以删除,原来的行无法删除。
回复 使用道具 举报
dybxin
注册会员   /  发表于:2024-2-4 17:51:38
3#
Joestar.Xu 发表于 2024-2-4 17:30
您好,猜测是因为历史的数据行的locked属性为true,新insert的行的locked属性为false,所以新insert的行可 ...

我试了,确实是这个原因,但是为什么呢, 我只是开启了表单保护,并且我在从api 拿到数据后一行一行的写入数据后, 给每一行的某些字段设置了locked(false) 以确保其是可编辑的,其它就没做啥了。

新插入行 sheet.getRange(insertRow, 0, 1, sheet.getColumnCount()).locked(false) 使其每个字段都可以编辑。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-2-5 09:05:46
4#
“给每一行的某些字段设置了locked(false)”,也就是说您并没有将这一整行的单元格的locked属性都设置为false吗?

如果是这样的话,也是无法删除行的,因为要在表单保护的状态下删除行需要这一整行的单元格locked属性都为false才可以。
回复 使用道具 举报
dybxin
注册会员   /  发表于:2024-2-5 09:17:55
5#
Joestar.Xu 发表于 2024-2-5 09:05
“给每一行的某些字段设置了locked(false)”,也就是说您并没有将这一整行的单元格的locked属性都设置为fal ...

那我该如何做才能满足 每行的部分字段可编辑, 又要保证指定行能被删除呢。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部