找回密码
 立即注册

QQ登录

只需一步,快速开始

时光不老

注册会员

6

主题

29

帖子

75

积分

注册会员

积分
75
时光不老
注册会员   /  发表于:2022-3-16 15:21  /   查看:2272  /  回复:7
1金币
从第5行开始,校验Q列+R列不能大于P列,Q列+R列+S列不能大于P列    var style = new GC.Spread.Sheets.Style();
    style.backColor = "red";
     // 创建生效区域
     var ranges = [new GC.Spread.Sheets.Range(6, 16, -1, 18)];
     // 设置条件格式
     sheet.conditionalFormats.addFormulaRule('=IF(Q1+R1<1||Q1+R1+S1<1,TRUE,FALSE)', style, ranges);
    spread.resumePaint();

不起做用帮忙看下,输入不符合要求是要能提示信息。

最佳答案

查看完整内容

这个需求应该用数据验证来实现,而不是条件格式,请参考附件的demo。另外,错误提示是固定的暂不支持动态改变。

7 个回复

倒序浏览
最佳答案
最佳答案
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-3-16 15:21:36
来自 4#
时光不老 发表于 2022-3-16 16:58
比如:
p现在是 10
当在q 输入 11 是,就提示 不能大于 p 的值,清空q,焦点设置到q, 输入5 正常

这个需求应该用数据验证来实现,而不是条件格式,请参考附件的demo。另外,错误提示是固定的暂不支持动态改变。

数据验证.html

2.66 KB, 下载次数: 81

回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-3-16 16:31:56
2#
请问你是想怎样的提示信息呢?如果使用条件格式显示红色背景色,请参考附件的demo。 image.png587721557.png

校验.html

2.04 KB, 下载次数: 84

回复 使用道具 举报
时光不老
注册会员   /  发表于:2022-3-16 16:58:21
3#
Derrick.Jiao 发表于 2022-3-16 16:31
请问你是想怎样的提示信息呢?如果使用条件格式显示红色背景色,请参考附件的demo。

比如:
p现在是 10
当在q 输入 11 是,就提示 不能大于 p 的值,清空q,焦点设置到q, 输入5 正常
在r输入6,提示 q+r 不能大于p,清空 焦点,输入1 正常
在s输入5 提示q+r+s 不能大于p 清空 焦点 输入1 正常

就是实现这样的功能。
回复 使用道具 举报
时光不老
注册会员   /  发表于:2022-3-17 09:43:08
5#
Derrick.Jiao 发表于 2022-3-16 17:34
这个需求应该用数据验证来实现,而不是条件格式,请参考附件的demo。另外,错误提示是固定的暂不支持动态 ...

image.png970270996.png 不知道为什么总是不对。
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-3-17 11:06:48
6#
时光不老 发表于 2022-3-17 09:43
不知道为什么总是不对。

请问你的公式是如何设计的呢?请把对应的表单上传,这边来调研一下。
回复 使用道具 举报
时光不老
注册会员   /  发表于:2022-3-18 09:49:04
7#
Derrick.Jiao 发表于 2022-3-17 11:06
请问你的公式是如何设计的呢?请把对应的表单上传,这边来调研一下。

另外实现了,不用这个了,用不好。
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-3-18 10:08:44
8#
时光不老 发表于 2022-3-18 09:49
另外实现了,不用这个了,用不好。

解决了就好,关于此类需求就更偏向excel的使用上了,我们这边更多的建议是在sjs的使用上。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部