上图中的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如下图:
但是如果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的时间,此问题已导致我们的项目出现严重的问题,比较紧急,感谢支持!!!
|
|