找回密码
 立即注册

QQ登录

只需一步,快速开始

Lynn.Dou 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-4-19 15:39  /   查看:3005  /  回复:0
本帖最后由 Lynn.Dou 于 2021-9-22 17:19 编辑

背景:在学习指南大家会看到这样一个demo:
image.png955104370.png

有小伙伴提出这样一个需求:希望在点击折叠/展开按钮时,会触发相应的事件,以此执行一些代码逻辑。
本篇教程利用 RangeGroupStateChanged 事件 和 isCollapsed 方法,带领大家实现此功能:


1、RangeGroupStateChanged事件
当用户更改行或列的分组列状态(分组区域)时触发。
代码:
  1. sheet.bind(GC.Spread.Sheets.Events.RangeGroupStateChanged, function (e, info) {
  2.         console.log(info);
  3.     });
复制代码
这是我们点击折叠/展开按钮,可以触发此事件,打印info信息。
如下图可以看到info中的一些信息。

image.png173388671.png
这个时候虽然能监听到此事件,但无法判断我们进行的是折叠操作还是展开操作,所以需要利用isCollapsed 方法来判断折叠状态。

2、isCollapsed 方法
确定指定索引处的区域组是否折叠。
代码:
  1. sheet.bind(GC.Spread.Sheets.Events.RangeGroupStateChanged, function (e, info) {
  2.         console.log(info)
  3.         var sheet = info.sheet;
  4.         console.log(sheet.rowOutlines.isCollapsed(info.index));
  5.     });
复制代码
如下图,此时点击按钮使折叠,就会输入true,反之,点击按钮使展开,就会输出false。
我们就可以根据判断的折叠状态,来执行下一步操作了。
image.png899573974.png

完整代码见附件。


监听分组列折叠状态.zip

9.69 KB, 下载次数: 114

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部