找回密码
 立即注册

QQ登录

只需一步,快速开始

hano7758

注册会员

11

主题

22

帖子

87

积分

注册会员

积分
87
hano7758
注册会员   /  发表于:2020-10-12 23:00  /   查看:3960  /  回复:3
1金币
本帖最后由 hano7758 于 2020-10-12 23:02 编辑

有一行单元格,前提是这一行单元格是锁定状态,现在设置了这一行的背景色为黄色

let sheet = spread.getActiveSheet();
let style = new GC.Spread.Sheets.Style();
style.backColor = 'yellow';

for (let i = 0; i < 8; i++) {
  sheet.setStyle(0, i, style, GC.Spread.Sheets.SheetArea.viewport);
}


现在想把这某一个单元格内的字体颜色换成红色
sheet.getCell(0, 1).foreColor('red');


发现会把这一行字体颜色都换成了红色
本来想用sheet.getCell(1, 1).backColor('red')设置背景颜色,发现锁定单元格这样设置背景色无效
应该不会是有多少个单元格new 多少个Style吧?
有什么办法能设置多个单元格的背景色,并同时设置这些单元格内某个单元格的字体颜色?

最佳答案

查看完整内容

您好,您将创建的style应用在第一行的单元格上,当您改变其中一个单元格的字体颜色时,也就是这个style的 foreColor 发生变化, 所以应用这个style的其他单元格字体颜色也随之改变。 SJS 样式优先级:单元格 > 行 > 列 > 表,所以可以将 style 应用在整行上,这样修改单元格的值就不会影响行样式的变化了。 示例代码如下: 您可以参考附件中的demo,点击按钮即可实现多个单元格的背景色和字体颜色变化。 更多样式相关问题推荐 ...

3 个回复

倒序浏览
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-10-12 23:01:00
来自 2#
本帖最后由 lynn512 于 2020-10-13 14:18 编辑

您好,您将创建的style应用在第一行的单元格上,当您改变其中一个单元格的字体颜色时,也就是这个style的 foreColor 发生变化,
所以应用这个style的其他单元格字体颜色也随之改变。
SJS 样式优先级:单元格 > 行 > 列 > 表,所以可以将 style 应用在整行上,这样修改单元格的值就不会影响行样式的变化了。
示例代码如下:
  1. //给一行设置样式
  2.             sheet.setStyle(0, -1, style, GC.Spread.Sheets.SheetArea.viewport);
复制代码
您可以参考附件中的demo,点击按钮即可实现多个单元格的背景色和字体颜色变化。
更多样式相关问题推荐阅读此篇技术博客:https://www.grapecity.com.cn/blo ... ply-spreadjs-styles

demo.zip

9.45 MB, 下载次数: 135

回复 使用道具 举报
hano7758
注册会员   /  发表于:2020-10-14 09:23:48
3#
lynn512 发表于 2020-10-13 09:48
您好,您将创建的style应用在第一行的单元格上,当您改变其中一个单元格的字体颜色时,也就是这个style的 f ...

设置一行的背景色不符合项目要求,只需要设置某几个单元格的背景色,不过已经用nameStyle解决了这个问题
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-10-14 10:37:57
4#
hano7758 发表于 2020-10-14 09:23
设置一行的背景色不符合项目要求,只需要设置某几个单元格的背景色,不过已经用nameStyle解决了这个问题

解决了就好,如果还有问题欢迎继续追问
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部