找回密码
 立即注册

QQ登录

只需一步,快速开始

赖东东

注册会员

6

主题

18

帖子

76

积分

注册会员

积分
76
赖东东
注册会员   /  发表于:2023-4-18 10:56  /   查看:1551  /  回复:9
4金币
本帖最后由 赖东东 于 2023-4-18 11:20 编辑

参照的demo  单元格按钮
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/cells/cell-buttons/purejs


通过  cellButtons 绘制的上传按钮
setHyperlink 设置下载链接

style.cellButtons = [
        {
            caption: '上传附件',
            useButtonStyle: true,
            command: (sheet, row, col) => {
              // 触发上传文件的逻辑
            },
        }
    ];

问题

1. 如下图 双击单元格 会进入编辑态,如何禁止双击进入编辑?
image.png977008361.png

2. 如下图, 选中了当前单元格,按删除键 无法清空内容, 如何清空内容?
image.png370313109.png



最佳答案

查看完整内容

您好,控制单元格禁止进入编辑状态,需要结合单元格锁定和表单保护来完成 具体规则是单元格锁定状态如果为true,则在表单保护true的状态下无法进入编辑状态。 反之则会进入编辑状态。详情您可以参考学习指南这个demo,demo中灰色区域可以进入编辑状态,但是白色区域不能。 https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/worksheet/protection/purejs

9 个回复

倒序浏览
最佳答案
最佳答案
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-18 10:56:38
来自 2#
您好,控制单元格禁止进入编辑状态,需要结合单元格锁定和表单保护来完成
具体规则是单元格锁定状态如果为true,则在表单保护true的状态下无法进入编辑状态。
反之则会进入编辑状态。详情您可以参考学习指南这个demo,demo中灰色区域可以进入编辑状态,但是白色区域不能。
https://demo.grapecity.com.cn/sp ... t/protection/purejs
回复 使用道具 举报
赖东东
注册会员   /  发表于:2023-4-18 20:26:24
3#
Clark.Pan 发表于 2023-4-18 18:17
您好,控制单元格禁止进入编辑状态,需要结合单元格锁定和表单保护来完成
具体规则是单元格锁定状态如果为 ...

1. 这是对整个 Sheet 开始保护,我想针对 某一列 或者 某一个单元格 要怎么做?
2. 开启保护的单元格,我还能点击上传文件按钮 触发上传吗?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-19 18:59:02
4#
1.这个问题请详细的看我上面的回复。为什么demo中demo中灰色区域可以进入编辑状态,但是白色区域不能。按照你的逻辑,如果是整个sheet保护了,那是不是所有类头不能编辑?
所以能不能编辑是在保护的基础上通过单元格锁定状态来判断的。
2.是否触发取决于单元格的锁定状态。
回复 使用道具 举报
赖东东
注册会员   /  发表于:2023-4-19 20:45:51
5#
Clark.Pan 发表于 2023-4-19 18:59
1.这个问题请详细的看我上面的回复。为什么demo中demo中灰色区域可以进入编辑状态,但是白色区域不能。按照 ...

我看了上面的demo  单元格通过 style.locked = true 可以实现的保护。
但是保护的单元格 点击不了旁边的上传附件。



image.png151937865.png

回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-20 15:00:49
6#
那是当然的,按钮能不能点击取决于单元格的locked属性是否是锁定的。
回复 使用道具 举报
赖东东
注册会员   /  发表于:2023-4-20 17:26:36
7#
本帖最后由 赖东东 于 2023-4-20 17:28 编辑
Clark.Pan 发表于 2023-4-20 15:00
那是当然的,按钮能不能点击取决于单元格的locked属性是否是锁定的。

哪有什么办法能达到  双击不能进入编辑,但是可以点击上传附件触发事件吗?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-20 19:16:04
8#
那我的建议使用自定义单元格自己写一个这样的组件
回复 使用道具 举报
赖东东
注册会员   /  发表于:2023-4-21 10:16:50
9#
Clark.Pan 发表于 2023-4-20 19:16
那我的建议使用自定义单元格自己写一个这样的组件

如何在 自定义单元格 paint 中绘制一个按钮、还有如何绑定事件, 有可以参照的demo吗?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-21 18:37:41
10#
paint里面有ctx对象,这个是canvas底层对象,用它来话。
点击按钮需要判定点击状态,可以参考学习指南中自定义单元格的五角星demo
执行事件也可以参考五角星demo变色这部分,卸载paint方法中或者当作参数在paint方法中调用。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部