本帖最后由 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)
- }
- });
复制代码
|
|