找回密码
 立即注册

QQ登录

只需一步,快速开始

奇怪又好看

初级会员

28

主题

109

帖子

269

积分

初级会员

积分
269
奇怪又好看
初级会员   /  发表于:2021-6-15 10:48  /   查看:4288  /  回复:10
数据和格式:后端返回,前端处理后fromJSON
image.png856944274.png

期望:禁止此单元格输入,只可以从下方选择


10 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-15 11:00:13
沙发
您好,
可以监听 EditStarting 事件,实现禁止编辑单元格,
具体请参考此篇技术博客:
https://gcdn.grapecity.com.cn/fo ... hread&tid=87763
回复 使用道具 举报
奇怪又好看
初级会员   /  发表于:2021-6-15 11:29:49
板凳
Lynn.Dou 发表于 2021-6-15 11:00
您好,
可以监听 EditStarting 事件,实现禁止编辑单元格,
具体请参考此篇技术博客:

这个api的返回值
有可以表示这个单元格是否是下拉选项的吗?

获取有其他的api来获取当前单元格是下拉选项的吗
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-15 11:34:42
地板
在这篇帖子中已给您做了回复:
https://gcdn.grapecity.com.cn/fo ... mp;extra=#pid389397

何时禁止单元格输入,需要您自行根据业务添加判断条件。
回复 使用道具 举报
奇怪又好看
初级会员   /  发表于:2021-6-15 11:40:36
5#
Lynn.Dou 发表于 2021-6-15 11:34
在这篇帖子中已给您做了回复:
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=78454&page= ...

我不需要校验单元格值是否正确
只要是下拉选择
那么就不能输入

那个帖子的意思是
我给下拉选项的单元格加数据校验
然后判断这个单元格是否有数据校验
有的话就禁止是吗??
回复 使用道具 举报
奇怪又好看
初级会员   /  发表于:2021-6-15 11:42:41
6#
Lynn.Dou 发表于 2021-6-15 11:34
在这篇帖子中已给您做了回复:
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=78454&page= ...

或者说
有什么api是可以获取当前选择的单元格的类型是下拉选项吗
不是根据数据校验的那种
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-15 11:47:58
7#
本帖最后由 Lynn.Dou 于 2021-6-15 11:49 编辑

下拉选项有多种实现方式,每一种方式有相应的判断方法。没有一种统一的API可以判断所有的下拉项。

从您提供的截图来看,您的下拉选项应该是使用的  数据验证-基于列表的数据验证
所以,贴中通过  getDataValidator 来判断该单元格是否有 此数据验证,如果有此数据验证,则cancel为true。

如果下拉选项不是通过数据验证实现的,建议您提供个demo或者详细描述下生成此下拉项的步骤,
这边再针对性的进行判断。

如下图:
image.png549502868.png
image.png790839538.png

回复 使用道具 举报
奇怪又好看
初级会员   /  发表于:2021-6-21 10:47:08
8#
Lynn.Dou 发表于 2021-6-15 11:47
下拉选项有多种实现方式,每一种方式有相应的判断方法。没有一种统一的API可以判断所有的下拉项。

从您 ...

您好,我想问一下
const sheet = this.spread.getActiveSheet()
sheet.getDataValidator(10, 16).type()

单元格不是下拉选项,那么直接报错Cannot read property 'type' of undefined"对吗?
是下拉选项的,永远都返回3?

那我是不是就可以判断,返回3一定是下来选项呢?
有什么办法,在不是下拉选项的单元上调取他不报错呢?
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-21 11:12:11
9#
数据验证有多种类型,
只有设置了数据验证的单元格,
才可以使用getDataValidator(row, col).type() 来获取数据验证具体是哪种类型。
所以先判断该单元格是否有数据验证。(sheet.getDataValidator(0,0))
如果不为 undefined,在使用 type方法获取具体类型。
如下图,为 数据验证类型的枚举值

为3表示 下拉列表的数据验证
image.png505815734.png
image.png919695434.png

回复 使用道具 举报
奇怪又好看
初级会员   /  发表于:2021-6-21 14:11:32
10#
Lynn.Dou 发表于 2021-6-21 11:12
数据验证有多种类型,
只有设置了数据验证的单元格,
才可以使用getDataValidator(row, col).type() 来获 ...

好的,解决了,谢谢
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部