找回密码
 立即注册

QQ登录

只需一步,快速开始

注册会员

11

主题

20

帖子

67

积分

注册会员

积分
67

注册会员   /  发表于:2022-2-9 10:14  /   查看:1303  /  回复:2
2022-02-09 09-52-57屏幕截图.png380645751.png
上图中的G7:G12有设置两个条件规则,demo代码如下:
sheet.conditionalFormats.addFormulaRule(formula1, style1, [new Range(6, 6, 6, 1)]);
sheet.conditionalFormats.addFormulaRule(formula2, [size=15.0667px]style2
, [new Range(6, 6, 6, 1)]);

当选中G7:G11之间的任意一行进行删除时(注意此时不要再G7:G12之间添加任何行,添加后再删除则行为正常),发现最后一行的条件规则被移除掉了,规则的range区域变成了[new Range(6, 6, 4,1)] 理论上应该变为new Range(6, 6, 5如下图:
2022-02-09 10-00-30屏幕截图.png897428893.png
但是如果G7:G12上的条件规则设置为一个(而不是两个规则),删除某行后则其行为保持正常。
经测试,将条件规则增加为三个后,删除[size=15.0667px]G7:G11之间的任意一行,
规则的range区域变成了[new Range(6, 6, 3, 1)],理论上应该变为new Range(6, 6, 5, 1)],所以怀疑删除行的时候内部的处理逻辑是遍历条件规则,然后重复的将range区域缩小导致的。
但是在删除行之前,如果在[size=15.0667px]G7:G12之间增加任意一行,不论G7:G12上配置了多少个条件规则,条件的range区域都是正确的[new Range(6, 6, 5, 1)],

请确认此问题是否是spreadjsV14.1中的BUG,如果不是请给出解决方案,如果是请给出修复此BUG的时间,此问题已导致我们的项目出现严重的问题,比较紧急,感谢支持!!!

2022-02-09 10-00-30屏幕截图.png297017821.png
2022-02-09 09-52-57屏幕截图.png474304198.png
2022-02-09 09-52-57屏幕截图.png953140563.png

2 个回复

倒序浏览

注册会员   /  发表于:2022-2-9 10:16:37
沙发
抱歉,最后的3张图片发重复了,又无法删除,不用理会
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-2-9 16:58:01
板凳
您好,根据目前提供的描述信息测试,无法复现您的问题,请问下图 formula1、style1等具体指的是什么呢?
image.png790476989.png
建议您先升级至V14.2.5,测试问题是否解决,先排除版本问题。
如果仍不能,
直接提供可复现此问题的demo,并详细描述操作步骤,
使这边可以通过删除操作直观的复现range区域变化的问题,这样才能更快的调研问题原因。

附件为demo模板,您可以在模板上添加自己的代码,能复现您描述的问题即可。


demo-sjs模板.zip

974 Bytes, 下载次数: 29

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部