请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

qsban

中级会员

46

主题

147

帖子

764

积分

中级会员

积分
764

微信认证勋章

qsban
中级会员   /  发表于:2017-9-7 18:06  /   查看:4939  /  回复:5
blob156107176.png


如上图,我在改变单元格的时候,把字体通过sheet.getCell(row, col, GcSpread.Sheets.SheetArea.viewport).foreColor("green");  这样的方式改变成green的。但是我发现直接这样写,本来只修改一个单元格,结果这个行代码就走了很多很多遍。怎么回事?

5 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-9-8 10:28:46
沙发
首先,这样写是一个循环调用,在cellchanged中修改颜色,修改颜色又会触发cellchanged事件
解决办法是:
在修改颜色之前加入spread.suspendEvent();阻止事件发生,修改之后再恢复
spread.suspendEvent();
sheet.getCell(row, col, GcSpread.Sheets.SheetArea.viewport).foreColor("green");
spread.resumeEvent();
回复 使用道具 举报
qsban
中级会员   /  发表于:2017-9-8 10:30:30
板凳
附件是一个demo,和上面的问题是一样的。

测试.zip

624.12 KB, 下载次数: 129

回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-9-8 11:13:33
地板
您好,原因和解决办法我刚刚已经回答您了,请问有什么问题吗?我在您提供的demo中这样去做也是没问题的。
回复 使用道具 举报
qsban
中级会员   /  发表于:2017-9-8 13:51:33
5#
谢谢了。按照你说的方法,都解决了。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-9-8 15:11:01
6#
那就好,有什么问题欢迎另开新帖进行询问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部