找回密码
 立即注册

QQ登录

只需一步,快速开始

摸摸头

注册会员

6

主题

17

帖子

83

积分

注册会员

积分
83
摸摸头
注册会员   /  发表于:2022-9-13 17:43  /   查看:1825  /  回复:5
image.png870147094.png image.png352306517.png
需求是修改“1”单元格时要给“1” 单元格加颜色,2 单元格上设置有公式,它的值是根据1单元格的值改变的  现在加上上图事件之后 2 单元格的值不计算了
image.png856611938.png image.png673011169.png
image.png724553527.png
image.png176802672.png

5 个回复

倒序浏览
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-9-13 18:41:18
推荐
可以参考附件中的demo来实现您想要的结果:
  1.    var sheet = spread.getActiveSheet();
  2.         sheet.setValue(0, 0, 12);
  3.         sheet.setFormula(0, 1, '=A1*1')

  4.         var getPrecedents = sheet.getPrecedents(0, 1);
  5.         var row = [],
  6.             col = [],
  7.             value = [];
  8.         for (var i = 0; i < getPrecedents.length; i++) {
  9.             row.push(getPrecedents[i].row);
  10.             col.push(getPrecedents[i].col);
  11.             value.push(sheet.getValue(row, col));
  12.         }
  13.         sheet.bind(GC.Spread.Sheets.Events.ValueChanged, function (e, info) {
  14.             var newValue = info.newValue;
  15.             setTimeout(function () {
  16.                 for (var i = 0; i < row.length; i++) {
  17.                     if (info.row === row[i] && info.col === col[i]) {
  18.                         if (newValue !== value[i]) {
  19.                             const cellStyle = new GC.Spread.Sheets.Style();
  20.                             cellStyle.backColor = 'red';
  21.                             sheet.setStyle(info.row, info.col, cellStyle);
  22.                         }
  23.                     }
  24.                 }
  25.             }, 0)
  26.         });
复制代码
最后实现效果是:
image.png203389586.png image.png19909666.png
其中可以参考这篇帖子:
https://gcdn.grapecity.com.cn/fo ... hread&tid=81568
回复 使用道具 举报
摸摸头
注册会员   /  发表于:2022-9-14 09:24:07
板凳
Ellia.Duan 发表于 2022-9-13 18:41
可以参考附件中的demo来实现您想要的结果:最后实现效果是:

其中可以参考这篇帖子:

老师给出的例子 不是我想要的需求,不过触决了我遇到的问题。 我用的CellChanged 事件监听到后,修改样式后,其他引用这个单元格的公式单元格不计算,我试了下 使用ValueChanged是可以的。
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-9-14 14:28:40
地板
所以,请问下您的问题已经解决了是吗?
回复 使用道具 举报
摸摸头
注册会员   /  发表于:2022-9-15 09:18:56
5#
Ellia.Duan 发表于 2022-9-14 14:28
所以,请问下您的问题已经解决了是吗?

是的
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-9-15 09:26:05
6#
那本贴就先结贴了,有问题欢迎另开新帖交流。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部