Lynn.Dou 发表于 2021-4-19 15:39:54

SpreadJS监听分组列的折叠状态

本帖最后由 Lynn.Dou 于 2021-9-22 17:19 编辑

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


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


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


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

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


完整代码见附件。


页: [1]
查看完整版本: SpreadJS监听分组列的折叠状态