找回密码
 立即注册

QQ登录

只需一步,快速开始

我是新用户
初级会员   /  发表于:2024-7-19 18:38  /   查看:2135  /  回复:15
10金币

以下是三种控件的代码:
1、日期控件:

  1. let notShowTimestyle = new GC.Spread.Sheets.Style();
  2.                     notShowTimestyle.cellButtons = [{
  3.                         imageType: GC.Spread.Sheets.ButtonImageType.dropdown,
  4.                         command: "openDateTimePicker",
  5.                         useButtonStyle: false,
  6.                     }];
  7.                     notShowTimestyle.dropDowns = [{
  8.                         type: GC.Spread.Sheets.DropDownType.dateTimePicker,
  9.                         option: {
  10.                             showTime: vm.showTime == '1'?true:false
  11.                         }
  12.                     }];
  13.                     activeSheet.setStyle(rowIndex, columnIndex, notShowTimestyle);
复制代码

2、下拉框:
  1.         setDropDownToSheet: function (activeSheet, rowIndex, colIndex,dropSourceArray) {
  2.             const {GC} = window;
  3.             let cellButtons = [
  4.                 {
  5.                     imageType: GC.Spread.Sheets.ButtonImageType.dropdown,
  6.                     command: "openList",
  7.                     useButtonStyle: true,
  8.                 }
  9.             ];
  10.             let dropDowns = [
  11.                 {
  12.                     type: GC.Spread.Sheets.DropDownType.list,
  13.                     option: {
  14.                         items: dropSourceArray,
  15.                     }
  16.                 }
  17.             ]
  18.             activeSheet.getRange(parseInt(rowIndex), parseInt(colIndex), 1, 1).cellButtons(cellButtons).dropDowns(dropDowns);
  19.         },
复制代码

3、复选框:
  1. const checkBoxCellType = new GC.Spread.Sheets.CellTypes.CheckBox();
  2.             checkBoxCellType.isThreeState(false);
  3.             checkBoxCellType.caption(vm.checkBoxCaption);
  4.             checkBoxCellType.textAlign(vm.checkBoxPlace);                 activeSheet.setCellType(rowIndex, columnIndex, checkBoxCellType);
复制代码


最佳答案

查看完整内容

这些控件也被填充至工作表中的单元格上,单元格默认保护状态开启,配合工作表保护可以禁止对单元格内容再编辑,包括对单元格上控件的点击和编辑。如下动图所示: 可参考官网教程了解详情:https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/worksheet/protection/purejs

15 个回复

倒序浏览
最佳答案
最佳答案
eat_grape_5
高级会员   /  发表于:2024-7-19 18:38:08
来自 2#
这些控件也被填充至工作表中的单元格上,单元格默认保护状态开启,配合工作表保护可以禁止对单元格内容再编辑,包括对单元格上控件的点击和编辑。如下动图所示:

控件不可编辑不可点击.gif
可参考官网教程了解详情:https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/worksheet/protection/purejs
回复 使用道具 举报
我是新用户
初级会员   /  发表于:2024-7-22 08:56:13
3#
eat_grape_5 发表于 2024-7-22 08:41
这些控件也被填充至工作表中的单元格上,单元格默认保护状态开启,配合工作表保护可以禁止对单元格内容再编 ...

我只是想部分单元格保护,部分单元格可以编辑。符合条件的,可以编辑。请问这种该怎么控制。官网上的demo貌似是全部单元格控制
回复 使用道具 举报
我是新用户
初级会员   /  发表于:2024-7-22 08:57:48
4#
eat_grape_5 发表于 2024-7-22 08:41
这些控件也被填充至工作表中的单元格上,单元格默认保护状态开启,配合工作表保护可以禁止对单元格内容再编 ...

或者说符合条件的不可编辑
回复 使用道具 举报
eat_grape_5
高级会员   /  发表于:2024-7-22 09:17:38
5#
我是新用户 发表于 2024-7-22 08:56
我只是想部分单元格保护,部分单元格可以编辑。符合条件的,可以编辑。请问这种该怎么控制。官网上的demo ...

对于允许编辑的单元格,在开启工作表保护之前将单元格状态解锁,在开启工作表保护后只对锁定状态的单元格限制操作,违背锁定的单元格可正常编辑和点击。所以,这块的控制逻辑可以自定义。
回复 使用道具 举报
我是新用户
初级会员   /  发表于:2024-7-22 09:20:12
6#
eat_grape_5 发表于 2024-7-22 09:17
对于允许编辑的单元格,在开启工作表保护之前将单元格状态解锁,在开启工作表保护后只对锁定状态的单元格 ...

不太理解您的意思。
回复 使用道具 举报
eat_grape_5
高级会员   /  发表于:2024-7-22 09:24:21
7#
我是新用户 发表于 2024-7-22 09:20
不太理解您的意思。

那就上图了,楼主结合下面这个动图理解下,先看看是否能理解:
单元格锁定状态分开控制.gif
回复 使用道具 举报
我是新用户
初级会员   /  发表于:2024-7-22 10:07:46
8#
eat_grape_5 发表于 2024-7-22 09:24
那就上图了,楼主结合下面这个动图理解下,先看看是否能理解:

大概看懂了,我怎么把单元格取消锁定呢,没找到怎么代码实现
回复 使用道具 举报
eat_grape_5
高级会员   /  发表于:2024-7-22 10:19:02
9#
我是新用户 发表于 2024-7-22 10:07
大概看懂了,我怎么把单元格取消锁定呢,没找到怎么代码实现

取消单元格锁定的步骤如下:
1. 根据单元格行列索引,通过Worksheet:getRange()获取单元格区域。
2. 对获取所得的单元格区域,执行CellRange:locked()设置其锁定状态。
可参考API文档了解详情:
Worksheet:getRange()--https://demo.grapecity.com.cn/sp ... .Worksheet#getrange
CellRange:locked()--https://demo.grapecity.com.cn/sp ... ts.CellRange#locked
回复 使用道具 举报
我是新用户
初级会员   /  发表于:2024-7-22 10:33:51
10#
eat_grape_5 发表于 2024-7-22 10:19
取消单元格锁定的步骤如下:
1. 根据单元格行列索引,通过Worksheet:getRange()获取单元格区域。
2. 对 ...

有没有按钮的点击前事件呢
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部