Fiooona 发表于 2020-6-30 17:50:43

如何控制分组列的折叠展开?

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



页: [1]
查看完整版本: 如何控制分组列的折叠展开?