找回密码
 立即注册

QQ登录

只需一步,快速开始

gnip

高级会员

139

主题

367

帖子

1170

积分

高级会员

积分
1170
gnip
高级会员   /  发表于:2024-10-10 14:56  /   查看:423  /  回复:9
1金币
image.png758633117.png 数据校验这个忽略空值在任意值状态下是禁用的,但是项目上需要能填任何值,就是不能为空,这个禁用能不能解开

最佳答案

查看完整内容

您好!可以使用公式数据验证,且通过公式ISBLANK判断输入值是否为空。 可以参考官网API文档了解详情: DataValidation:createFormulaValidator()--https://demo.grapecity.com.cn/spreadjs/help/api/modules/GC.Spread.Sheets.DataValidation#createformulavalidator

9 个回复

正序浏览
Wilson.Zhang
超级版主   /  发表于:2024-10-12 17:40:16
10#
gnip 发表于 2024-10-12 16:57
好的,感谢解答

不客气!从跟帖回复中了解到问题已得到有效解答,那就结贴了。如有新问题,欢迎发新帖沟通。
回复 使用道具 举报
gnip
高级会员   /  发表于:2024-10-12 16:57:44
9#
Wilson.Zhang 发表于 2024-10-12 12:19
SpreadJS需要和Excel保持一定的相似性,这样可以帮助习惯于使用Excel的用户适应操作。Excel单元格没有空 ...

好的,感谢解答
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-12 12:19:02
8#
gnip 发表于 2024-10-12 09:18
实际需求就是简单限制不能为空,这如果先切换成其他的,然后切换回来才能勾选,页面交互在实际项目用户使 ...

SpreadJS需要和Excel保持一定的相似性,这样可以帮助习惯于使用Excel的用户适应操作。Excel单元格没有空值概念,虽然SpreadJS由纯前端技术栈开发,在语言层面可以有空值null、undefined这类特殊值概念,但是此处需要和Excel保持一致。针对您的需求,您可以尝试自定义实现,数据验证特性功能的API可以支持,自定义实现可能较为复杂,需要您自行评估决定。
回复 使用道具 举报
gnip
高级会员   /  发表于:2024-10-12 09:18:51
7#
Wilson.Zhang 发表于 2024-10-11 12:01
这里对“任何值”的“忽略空值”禁用状态与Excel保持一致,如下图所示是Excel中的默认状态。就您的需求而 ...

实际需求就是简单限制不能为空,这如果先切换成其他的,然后切换回来才能勾选,页面交互在实际项目用户使用上面就会很疑惑并且不是很友好
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-11 12:01:36
6#
gnip 发表于 2024-10-11 10:04
我的需求是,在原来数据校验的基础上,不改动,仅仅在下拉数据为任意值的情况下,后面的忽略控制是禁用状 ...

这里对“任何值”的“忽略空值”禁用状态与Excel保持一致,如下图所示是Excel中的默认状态。就您的需求而言,是想在设置“任何值”的数据验证时控制“忽略空值”的选项设置。那么,可以先切换到其他数据验证,比如整数、小数等,设置了“忽略空值”选项后再切换回“任何值”。

Excel数据验证任何值.png488745727.png
回复 使用道具 举报
gnip
高级会员   /  发表于:2024-10-11 10:04:37
5#
本帖最后由 gnip 于 2024-10-11 10:09 编辑
Wilson.Zhang 发表于 2024-10-11 09:18
那您当前单元格上已经设置了“任何值”的数据验证吗?如果是,那么,可以通过Worksheet:getDataValidator ...

image.png824647216.png 我的需求是,在原来数据校验的基础上,不改动,仅仅在下拉数据为任意值的情况下,后面的忽略控制是禁用状态,没法选择,这个禁用状态去掉,其他逻辑不动,简单来说就是“忽略空值”原来在“任意值”选择下是禁用的,现在不要禁用了
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-11 09:18:35
4#
gnip 发表于 2024-10-10 17:28
这要创建的呀,怎么覆盖原来的哦,不动原来的校验逻辑,就单纯把忽略控制关掉

那您当前单元格上已经设置了“任何值”的数据验证吗?如果是,那么,可以通过Worksheet:getDataValidator()获取数据验证DefaultDataValdator实例,再通过DefaultDataValidator:ignoreBlank()设置为false,即可取消忽略空值。可以参考如下代码:

  1. //  假定单元格(2,2)设置了“任何值”数据验证
  2. var validator = sheet.getDataValidator(2, 2);
  3. //  对数据验证设置取消忽略空值
  4. validator.ignoreBlank(false);
复制代码

可以参考官网API了解详情:
Worksheet:getDataValidator()--https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sheets.Worksheet#getdatavalidator
DefaultDataValidator:ignoreBlank()--https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sheets.DataValidation.DefaultDataValidator#ignoreblank
回复 使用道具 举报
gnip
高级会员   /  发表于:2024-10-10 17:28:22
3#
Wilson.Zhang 发表于 2024-10-10 17:00
您好!可以使用公式数据验证,且通过公式ISBLANK判断输入值是否为空。

可以参考官网API文档了解详情:

这要创建的呀,怎么覆盖原来的哦,不动原来的校验逻辑,就单纯把忽略控制关掉
回复 使用道具 举报
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2024-10-10 14:56:26
来自 2#
您好!可以使用公式数据验证,且通过公式ISBLANK判断输入值是否为空。

可以参考官网API文档了解详情:
DataValidation:createFormulaValidator()--https://demo.grapecity.com.cn/sp ... ateformulavalidator
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部