找回密码
 立即注册

QQ登录

只需一步,快速开始

zhulilong

金牌服务用户

7

主题

54

帖子

563

积分

金牌服务用户

积分
563
QQ
zhulilong
金牌服务用户   /  发表于:2020-11-26 09:50  /   查看:2361  /  回复:7
10金币
  1. "0,2,4,1".split(",").forEach((i)=>{
  2. sheet.getRange(i,-1,1,-1,GC.Spread.Sheets.SheetArea.viewport).foreColor("blue");
  3. });
复制代码
表格中总共5行
执行以上代码后全部变蓝(应该第四行还是黑色)

为什么以上设置字体颜色的代码会不按照预期执行呢?

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

我跟了下代码,原因是你的foreach循环中i的类型的问题 spread需要的是索引,但是你循环中给的是“0”字符串,导致异常,修改代码强制转换下即可

7 个回复

倒序浏览
最佳答案
最佳答案
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2020-11-26 09:50:04
来自 7#
zhulilong 发表于 2020-11-27 08:31
我觉得这个问题跟SpreadJS相关性更高,所以特地发帖到贵专区求助,并非一时大意,进错门。而且论坛并没有 ...

我跟了下代码,原因是你的foreach循环中i的类型的问题
spread需要的是索引,但是你循环中给的是“0”字符串,导致异常,修改代码强制转换下即可
  1. var listview = Forguncy.Page.getListView("表格1");
  2. var sheet = listview.getControl().getActiveSheet();
  3. "0,2,4,1".split(",").forEach((i)=>{
  4.     sheet.getRange(parseInt(i),-1,1,-1,GC.Spread.Sheets.SheetArea.viewport).foreColor("blue");
  5. });
复制代码


回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-11-26 10:00:49
2#
因为样式是存在优先级的,优先级为:单元格>行>列,您的设置是整一个整列设置,整列设置的优先级低于单元格及行样式的优先级。如果第四行没有按照预期变蓝,请排查一下第四行是不是有单元格级别或者行级别的样式设置。故导致没有生效。
具体优先级的关系可以查看下面地址的demo:
https://demo.grapecity.com.cn/sp ... /basic-style/purejs
回复 使用道具 举报
zhulilong
金牌服务用户   /  发表于:2020-11-26 10:11:19
4#
ClarkPan 发表于 2020-11-26 10:01
因为样式是存在优先级的,优先级为:单元格>行>列,您的设置是整一个整列设置,整列设置的优先级低于单元格 ...

我的代码是要求1,2,3,5行变蓝,第四行保持不变。但是代码执行后第四行也变蓝了。
以上代码如果我不用forEach,而是分成四行代码,分别设置字体颜色是没有问题的。
另外我是活字格用户,我是在活字格环境执行以上代码的。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-11-26 10:55:35
5#
那您发错专区了,您应该将帖子发至活字格专区,我帮您将帖子移到活字格专区,建议您收藏对应专区的地址,以免下回再出现发错区的情况。
回复 使用道具 举报
zhulilong
金牌服务用户   /  发表于:2020-11-27 08:31:44
6#
ClarkPan 发表于 2020-11-26 10:55
那您发错专区了,您应该将帖子发至活字格专区,我帮您将帖子移到活字格专区,建议您收藏对应专区的地址,以 ...

我觉得这个问题跟SpreadJS相关性更高,所以特地发帖到贵专区求助,并非一时大意,进错门。而且论坛并没有规定活字格用户不允许在其它专区求助。对于有没有发错区不应该只看用户性质,更多应该关注问题本身涉及的内容对吧?
回复 使用道具 举报
zhulilong
金牌服务用户   /  发表于:2020-11-27 10:19:44
8#
Eric.Liang 发表于 2020-11-26 09:50
我跟了下代码,原因是你的foreach循环中i的类型的问题
spread需要的是索引,但是你循环中给的是“0”字 ...

多谢大佬点拨
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2020-11-27 10:21:13
9#

问题解决了就好~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部