找回密码
 立即注册

QQ登录

只需一步,快速开始

湖南大商帮

初级会员

45

主题

153

帖子

460

积分

初级会员

积分
460
湖南大商帮
初级会员   /  发表于:2021-7-14 17:53  /   查看:2226  /  回复:5
本帖最后由 湖南大商帮 于 2021-7-14 17:57 编辑

代码大致如下:
  1. let namedStyle = new GC.Spread.Sheets.Style()
  2.                                         namedStyle.name = "style1";
  3.                                         namedStyle.backColor = "green";
  4.                                         sheet.addNamedStyle( namedStyle )
  5.                                         sheet.setStyleName(2, -1, 'style1')

  6.                                         sheet.getRange(-1, 2).backColor('pink')
复制代码
先给第3行设置StyleName为绿色,我再设置第2列的背景色为粉色,实际效果却是,第3行第二列还是绿色,不是粉色,是不是我的优先级有问题了


经测试,excel的优先级是整列的样式可以覆盖整行的样式

5 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-14 18:02:08
沙发
样式在不同的层级结构中具有不同的优先级别, 如下: 单元格 > 行 > 列。
具体可以参考学习指南
https://demo.grapecity.com.cn/sp ... /cells/basic-style#
回复 使用道具 举报
湖南大商帮
初级会员   /  发表于:2021-7-15 08:49:16
板凳
你们这个行》列的优先级,已经和exec行为不一致了呀。。。

其次,我们现在的需求比较复杂,每行的背景色都不同,特定列的背景色也不同,选中高亮行有背景色,移开焦点又要恢复背景色,现在的问题就是行的优先级覆盖了列的,所以实现不了这个需求。。。。
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-15 09:15:33
地板
湖南大商帮 发表于 2021-7-15 08:49
你们这个行》列的优先级,已经和exec行为不一致了呀。。。

其次,我们现在的需求比较复杂,每行 ...

您是想行列交叉的时候显示列的颜色吗?您可以考虑判断交叉的位置,给这个单元格单独设置一个颜色,单元格的优先级较高。
回复 使用道具 举报
湖南大商帮
初级会员   /  发表于:2021-7-15 09:29:40
5#
额。。。这个思路我知道,这样的代码量和要考虑的情况比较多,如果是能够在初始化的时候统一设置,将会简单很多了
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-15 09:32:07
6#
湖南大商帮 发表于 2021-7-15 09:29
额。。。这个思路我知道,这样的代码量和要考虑的情况比较多,如果是能够在初始化的时候统一设置,将会简单 ...

这个我们进一步调研看下是否有更好的方法,此贴先为您改为保留处理。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部