找回密码
 立即注册

QQ登录

只需一步,快速开始

Fiooona
论坛元老   /  发表于:2020-6-30 17:50  /   查看:3558  /  回复:0
背景:用户现在使用的表格有7,8个层级,想实现只让前三层可以展开折叠
思路:SpreadJS 的分组列 中提供了getCollapsed、setCollapsed 接口,可以获取、设置折叠状态,监听单元格的点击事件,如果是某个固定层级的数据,就按照业务需要控制其折叠、展开的状态
关键代码:
  1. sheet.bind(GC.Spread.Sheets.Events.CellClick,function(e, info){
  2.    sheet.suspendPaint()
  3.                 console.log(info)
  4.                 var getCheckStatus = new GC.Spread.Sheets.OutlineColumn.OutlineColumn(sheet).getCheckStatus(info.row);
  5.                 var getCollapsed = new GC.Spread.Sheets.OutlineColumn.OutlineColumn(sheet).getCollapsed(info.row);
  6.                 console.log(getCheckStatus)
  7.                 console.log(getCollapsed)
  8.                 var textIndent = sheet.getCell(info.row, info.col).textIndent()
  9.                 console.log(textIndent)
  10.                 if (textIndent==1){ // 第二级强制折叠
  11.                         var instance = new GC.Spread.Sheets.OutlineColumn.OutlineColumn(sheet);
  12.                         instance.setCollapsed(info.row, true);
  13.                 }
  14.                 sheet.resumePaint()
  15.         })
复制代码
实现效果是第二层级的数据无法展开,只能收起,第一层级可以顺利折叠展开:



32.gif
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!

0 个回复

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