SpreadJS V14 Update1 新特性 - 行为增强 - 表单保护时禁用展开和折叠分组
本帖最后由 Lynn.Dou 于 2021-5-31 09:23 编辑在SpreadJS V14 Update1 之前的版本中,设置表单保护时,允许展开/折叠分组。
SpreadJS V14 Update1 中对表单保护行为做了增强,设置表单保护时,可以通过API控制是否禁用展开/折叠分组。
- 当工作表受保护且protectOption的allowOutlineRows为false时,行组不能折叠和展开。
- 当工作表受保护且protectOption的allowOutlineRows为true时,行组可以折叠和展开
- 当工作表受保护且protectOption的allowOutlineColumns为false时,列组不能折叠和展开。
- 当工作表受保护且protectOption的allowOutlineColumns为true时,列组可以折叠和展开。
- 默认情况下,工作表受保护时,allowOutlineRows、allowOutlineColumns为false,也就是说禁止展开/折叠分组。
表单受保护且行列组禁止展开/折叠时,点击展开/折叠按钮,将会触发invalidOperation 事件。
在designer中表现为,弹出错误提示弹框:
示例代码: var spread = new GC.Spread.Sheets.Workbook(DOC);
var activeSheet = spread.getActiveSheet();
activeSheet.suspendPaint();
activeSheet.setRowCount(34);
activeSheet.setValue(0,0,"Western");
activeSheet.setValue(0,1,"Western");
activeSheet.setValue(0,2,"Western");
activeSheet.setValue(1,0,"A");
activeSheet.setValue(1,1,"B");
activeSheet.setValue(1,2,"C");
activeSheet.setValue(2,0,"A");
activeSheet.setValue(2,1,"B");
activeSheet.setValue(2,2,"C");
activeSheet.rowOutlines.group(0,2);
activeSheet.columnOutlines.group(0,1);
activeSheet.options.isProtected = true;
sheet.options.protectionOptions.allowOutlineColumns= false;
sheet.options.protectionOptions.allowOutlineRows= false;
activeSheet.resumePaint();
spread.bind(Sheets.Events.InvalidOperation, (e, args) => {
if(args.invalidType === GC.Spread.Sheets.InvalidOperationType.groupProtected){
alert(args.message)
}
});
你好貌似没有起作用,附件是测试代码 您好,技术博客中API有误,感谢您的指出。
将代码修改为以下即可:
//activeSheet.options.protectionOptions.allowOperateOutlineColumn = true;
activeSheet.options.protectionOptions.allowOutlineRows = true;
//activeSheet.options.protectionOptions.allowOperateOutlineRow = true;
activeSheet.options.protectionOptions.allowOutlineColumns = true;具体您也可以参考学习指南:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/worksheet/protection/purejs
页:
[1]