找回密码
 立即注册

QQ登录

只需一步,快速开始

kelvinChen
金牌服务用户   /  发表于:2024-3-14 10:32  /   查看:725  /  回复:8
本帖最后由 Richard.Huang 于 2024-3-15 09:37 编辑

产品:SpreadJS
版本:V16.2.6

image.png265022887.png

这个函数我传入的是自定义校验cell,为什么执行后连官方工具设置的单元格都会有红圈(错误标注)
image.png86618651.png

8 个回复

倒序浏览
RoyAji
注册会员   /  发表于:2024-3-14 11:03:21
沙发
本帖最后由 RoyAji 于 2024-3-14 11:10 编辑

那是个highlight style(spreadjs 支持的一种用于datavalidation的样式),这个样式可以也需要单独设置,否则就是默认的红圈圈
https://developer.mescius.com/spreadjs/docs/features/datavalidate#using-different-highlight-styles-for-data-validation
回复 使用道具 举报
kelvinChen
金牌服务用户   /  发表于:2024-3-14 11:08:52
板凳
我的意思是,我这个函数应该是传入了自定义校验规则的cell,但是执行后,连官方工具自己带的校验也进行了校验
想问一下是不是这些方法连官方的校验也触发
回复 使用道具 举报
RoyAji
注册会员   /  发表于:2024-3-14 11:24:08
地板
我试了下好像只要修改单元格就会触发sheet上的datavalidation的重算,比如有一些单元格里面是函数,上面有datavalidation,我修改引用的数据区域的数据也会触发所有那些单元格里datavalidation的校验显示highlight style
回复 使用道具 举报
kelvinChen
金牌服务用户   /  发表于:2024-3-14 11:40:26
5#
其实这样也没问题,但是我拿不到用官方设置工具的校验规则,提示不了用户填写哪里错了
回复 使用道具 举报
kelvinChen
金牌服务用户   /  发表于:2024-3-14 11:41:21
6#
kelvinChen 发表于 2024-3-14 11:40
其实这样也没问题,但是我拿不到用官方设置工具的校验规则,提示不了用户填写哪里错了

只能用红圈标记,但是没有提示,这个用户根本不知道自己应该输入什么东西
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-3-14 13:40:55
7#
您好,如果只是想提示用户输入什么内容 ,可以设置inputTitle和inputMessage
如:
  1. var dv1 = new spreadNS.DataValidation.createListValidator("Fruit,Vegetable,Food");
  2.             dv1.inputTitle("Please choose a category:");
  3.             dv1.inputMessage("Fruit, Vegetable, Food");
  4.             dv1.highlightStyle({
  5.                 type: GC.Spread.Sheets.DataValidation.HighlightType.icon,
  6.                 color: "gold",
  7.                 position: GC.Spread.Sheets.DataValidation.HighlightPosition.outsideRight,
  8.             });
  9. sheet.setDataValidator(0, 2, dv1);
复制代码


回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-3-18 16:21:48
8#
您好,通过楼上回复是否可以解决您的问题,如果还未解决,欢迎追帖询问。
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-3-27 11:29:07
9#
由于您长时间未回帖,本贴就先结贴啦。如果此问题还有疑问,可以追帖询问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部