找回密码
 立即注册

QQ登录

只需一步,快速开始

简单
金牌服务用户   /  发表于:2021-6-7 15:11  /   查看:12146  /  回复:17
1金币
RT,我想要根据条件去判断页面表格是否允许编辑,该如何实现呢?

最佳答案

查看完整内容

众所周知,活字格的表格使用的是葡萄城公司的控件产品SperadJS,如果你想要控制表格是否允许编辑,用活字格内置的设置单元格属性命令,条件格式等等都是无法操作的。 以前,我们会建议大家做两个表格子页面,使用页面容器去切换两个不同的子页面,一个开启了编辑,一个没有开启编辑。 但是,这并不是一个最优的解决方案,所以,论坛大佬谢厅做了这样一个插件 命令类型插件 - 表格编辑模式 https://gcdn.grapecity.com.cn/for ...

17 个回复

倒序浏览
最佳答案
最佳答案
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-6-7 15:11:51
来自 2#
众所周知,活字格的表格使用的是葡萄城公司的控件产品SperadJS,如果你想要控制表格是否允许编辑,用活字格内置的设置单元格属性命令,条件格式等等都是无法操作的。
以前,我们会建议大家做两个表格子页面,使用页面容器去切换两个不同的子页面,一个开启了编辑,一个没有开启编辑。

但是,这并不是一个最优的解决方案,所以,论坛大佬谢厅做了这样一个插件
命令类型插件 - 表格编辑模式
https://gcdn.grapecity.com.cn/fo ... 7&fromuid=51381
(出处: 葡萄城产品技术社区)


伴随着插件的产生,也出现了其他客户使用的问题,在页面加载命令中使用这个插件的时候,不会生效
页面加载命令中设置的表格编辑模式命令不起作用
https://gcdn.grapecity.com.cn/fo ... 9&fromuid=51381
(出处: 葡萄城产品技术社区)


谢厅大佬也给大家做了解释,具体的原因可以参看这里


当然,基于spreadJS的强大功能,我们是可以通过代码去实现的
具体使用的是spreadJS的cellclick事件,页面加载命令中去监听对应表格的cellclick事件
SpreadJS中文API-Class: Worksheet (grapecity.com.cn)

根据标志的不同,动态控制表格是否允许编辑


不允许编辑:
  1. activeSheet.options.isProtected = true;
复制代码


允许编辑
  1. activeSheet.options.isProtected = false;
复制代码


通过代码控制后,只需要修改文本框的值,就可以动态控制表格是否允许编辑



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1满意度 +5 收起 理由
lys + 5

查看全部评分

回复 使用道具 举报
紫色幽魂
金牌服务用户   /  发表于:2021-6-11 11:34:29
3#
Eric.Liang 发表于 2021-6-7 15:11
众所周知,活字格的表格使用的是葡萄城公司的控件产品SperadJS,如果你想要控制表格是否允许编辑,用活字格 ...

能否给个demo,按照解说设置不起作用
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-6-11 16:09:51
4#
紫色幽魂 发表于 2021-6-11 11:34
能否给个demo,按照解说设置不起作用

特地手撕代码给您做了一个demo,输入框填0,点下按钮表格就可以修改、
输入框填1,点下按钮表格就禁止修改了


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-6-15 08:43:53
6#
感谢您对活字格的支持。
后面有问题,欢迎继续发新帖交流
回复 使用道具 举报
happyboyjia
高级会员   /  发表于:2021-6-25 21:21:18
8#
回复 使用道具 举报
amtath悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-6-26 12:12:27
9#
列也可以动态控制吗?
比如当A列为客户,客户列为允许编辑,供应商列锁定;
当A列为供应商,客户列锁定,供应商列开放。
回复 使用道具 举报
lijetcart悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2021-6-26 18:00:39
10#
amtath 发表于 2021-6-26 12:12
列也可以动态控制吗?
比如当A列为客户,客户列为允许编辑,供应商列锁定;
当A列为供应商,客户列锁定, ...

可以,你得单独再提一个贴,悬赏高点
回复 使用道具 举报
amtath悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-6-26 19:05:20
11#
lijetcart 发表于 2021-6-26 18:00
可以,你得单独再提一个贴,悬赏高点

中午就发了
https://gcdn.grapecity.com.cn/fo ... &extra=page%3D1
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-6-28 08:59:16
12#
感谢支持,后面有问题欢迎继续发帖交流
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部