找回密码
 立即注册

QQ登录

只需一步,快速开始

Amelia

注册会员

5

主题

19

帖子

60

积分

注册会员

积分
60
Amelia
注册会员   /  发表于:2022-11-10 17:39  /   查看:1054  /  回复:7
用ConditionalFormatting设置了RowColumnStates为hover的行样式,加粗了边框。

但是发现用户如果给那个表设置了样式,我设置的粗框就不会生效。
是因为样式冲突吗?这种有什么办法解决吗?

7 个回复

倒序浏览
Amelia
注册会员   /  发表于:2022-11-11 09:40:42
沙发
好像是因为用户做表格时用的是条件格式生成的,也是conditionalFormat,和我用代码加的冲突了。
可是addRule不是只是在里面加了另一种规则吗,是因为他那个有个最高的priority吗,我是否可以更改我的优先级和其同级呢?
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-11 14:43:09
板凳
您好,
这边测试在设置了样式条件规则之后,并没有与之后设置的鼠标悬停条件格式产生冲突。
(测试地址:https://demo.grapecity.com.cn/SpreadJS/WebDesigner/index.html
测试版本:V15.2.2)
如下图:
image.png884014587.png
image.png490921019.png

请问”用户做的表格“具体是什么条件格式呢?您又是如何设置的(API还是工具栏UI操作)鼠标悬停条件格式呢?
请提供下相关的可复现的文件,并详细描述复现步骤,这边实际测试下。
回复 使用道具 举报
Amelia
注册会员   /  发表于:2022-11-11 16:18:13
地板
用户编辑表单的时候用工具栏样式里的条件规则“MOD(ROW(),2)=0"去设置的一行一行的样式,
我用api设置的,
  1. let cfs = sheet.conditionalFormats;
  2. let ruleType = 好长啊省略一下.rowStateRule;
  3. let state = 省略一下.RowColumnStates.hover;
  4. let style = new 省略一下.Style();
  5. style设置了上下边框样式。
  6. 范围为整个表,生效失效的表获取范围都没问题。
  7. let rule = new 省略一下.ConditionalFormatting.StateRule(ruleType,state,style,range);
  8. cfs.addRule(rule);
复制代码
(不好意思发不了文件,我只能这样给你概述下)

但是我输出了下sheet.conditionalFormats
用户设置过的表里,只有用户设置的conditionalFormats的信息,找不到我的,我写的不生效。
用户没设置条件格式样式的表里,我才能找到我写的conditionalFormats悬停样式,我写的也生效。
所以我才怀疑是给覆盖了,不知道如何解决这个冲突。
如果有其它原因造成冲突的可能,若有思路万分感谢,我便再去看看。

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-11 18:06:03
5#
Amelia 发表于 2022-11-11 16:18
用户编辑表单的时候用工具栏样式里的条件规则“MOD(ROW(),2)=0"去设置的一行一行的样式,
我用api设置的, ...

好的,这边先尝试使用mod函数模拟复现这个问题,有结果贴中回复您。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-14 17:47:19
6#
根据提供信息整理了一个demo,测试未复现样式冲突问题,您可以参考下附件。

image.png353786925.png

conditionalFormat.zip

2.08 KB, 下载次数: 18

回复 使用道具 举报
Amelia
注册会员   /  发表于:2022-11-17 10:41:22
7#
我这边在designer里面设置的,在spread-js-designer界面,条件格式中的条件规则和行悬停样式都可以显示,但是同一个表在gc-spread-sheets界面就无法显示行悬停规则设置的样式了。不知道可能有什么原因
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-17 10:52:12
8#
Amelia 发表于 2022-11-17 10:41
我这边在designer里面设置的,在spread-js-designer界面,条件格式中的条件规则和行悬停样式都可以显示,但 ...

您参考上述回复中的附件,提供一个可复现的demo,这边调研下原因。从目前提供的信息来看,这边未能复现此问题。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部