找回密码
 立即注册

QQ登录

只需一步,快速开始

Dtttax

银牌会员

261

主题

648

帖子

2075

积分

银牌会员

积分
2075
Dtttax
银牌会员   /  发表于:2024-10-14 15:54  /   查看:162  /  回复:6
1金币
如果当前单元格编辑后,其他sheet的单元格引用了当前编辑的单元格,需要用什么方法找到所有关联的单元格。

6 个回复

倒序浏览
Lewis
初级会员   /  发表于:2024-10-14 16:42:33
沙发
参考这个demo找到引用单元格:
https://demo.grapecity.com.cn/sp ... et-precedent/purejs
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-14 16:54:08
板凳
您好!可以使用Worksheet:getDependents()获取该单元格的从属信息,跨表引用也支持通过该API检索。

可以参考官网教程和API文档了解详情:
教程--https://demo.grapecity.com.cn/sp ... et-dependent/purejs
Worksheet:getDependents()--https://demo.grapecity.com.cn/sp ... sheet#getdependents
回复 使用道具 举报
Dtttax
银牌会员   /  发表于:2024-10-14 17:25:41
地板
还有没有更好的方法,这样每个单元格找,如果一次黏贴很多单元格或者直接更新excel导入,这肯定会很卡。加上公式有很多层,一个单元格就有四五层。用这个功能是要求当前单元格的值变化后有个sheet里面的富文本也跟着变化。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-10-15 08:44:56
5#
用dirty cell。 改了一个单元格以后,公式引用的相关单元格也会变dirty。
在valueChanged和rangeChangedl两个事件里获取,用完以后clear
回复 使用道具 举报
Dtttax
银牌会员   /  发表于:2024-10-16 15:50:41
6#
如果删除一个sheet,怎么在删除sheet事件找到对应的dirty cell. 比如c表里面引用了B表,B表里面引用了A表,如果删除A表事件里面dirtycell有对应C表的cell
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-10-16 16:52:19
7#
遍历每个sheet ,对sheet进行RangeChanged事件绑定
  1. spread.sheets.forEach(sheet=>{
  2. <div>  sheet.bind(GC.Spread.Sheets.Events.RangeChanged,function(e,args){
  3.       console.log(sheet.name(),args)
  4.   })
  5. })</div>
复制代码


如果c表里面引用了B表,B表里面引用了A表,
此时删除A表,其他两个sheet都会触发RangeChanged事件,并且在changedCells有dirty cell的提示。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部