如何控制分组列的折叠展开?
背景:用户现在使用的表格有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]