找回密码
 立即注册

QQ登录

只需一步,快速开始

我是新用户
初级会员   /  发表于:2024-7-19 18:38  /   查看:2136  /  回复: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);
复制代码


15 个回复

正序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-7-23 14:54:07
16#
解决就行。那就结贴了,有什么问题欢迎另开新帖进行询问。
回复 使用道具 举报
我是新用户
初级会员   /  发表于:2024-7-23 09:56:56
15#
本帖最后由 我是新用户 于 2024-7-23 10:03 编辑
Clark.Pan 发表于 2024-7-23 09:12
看了一下您的需求和沟通记录,如果您想不可点击,可以基于上述沟通的内容,额外设置allowSelectLockedCells ...

谢谢,不设置这个属性也解决了。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-7-23 09:12:30
14#
本帖最后由 Clark.Pan 于 2024-7-23 09:14 编辑

看了一下您的需求和沟通记录,如果您想不可点击,可以基于上述沟通的内容,额外设置allowSelectLockedCells 为 false 即可
这样被锁定的单元格将无法点击选中,更不要说编辑了。
image.png307320250.png
https://demo.grapecity.com.cn/sp ... t/protection/purejs

回复 使用道具 举报
eat_grape_5
高级会员   /  发表于:2024-7-22 17:50:27
13#
我是新用户 发表于 2024-7-22 17:04
是的。能监听到点击前最好

就点击动作而言,点击前要如何监听呢?一般地,最早能监听到的事件是在接触的一瞬,所以还是想了解楼主的实际需求,这样有助于解决问题,或者楼主先看看ButtonClicked事件是否能满足当前的需求。
回复 使用道具 举报
我是新用户
初级会员   /  发表于:2024-7-22 17:04:41
12#
eat_grape_5 发表于 2024-7-22 11:02
楼主说的“按钮”是Button类对象吗?如果是的话,ButtonClicked事件可以监听到对这种按钮的点击动作信息 ...

是的。能监听到点击前最好
回复 使用道具 举报
eat_grape_5
高级会员   /  发表于:2024-7-22 11:02:19
11#
我是新用户 发表于 2024-7-22 10:33
有没有按钮的点击前事件呢

楼主说的“按钮”是Button类对象吗?如果是的话,ButtonClicked事件可以监听到对这种按钮的点击动作信息。如果不是,楼主可以详细讲一下需求,这样便于同步信息来解决问题。
回复 使用道具 举报
我是新用户
初级会员   /  发表于:2024-7-22 10:33:51
10#
eat_grape_5 发表于 2024-7-22 10:19
取消单元格锁定的步骤如下:
1. 根据单元格行列索引,通过Worksheet:getRange()获取单元格区域。
2. 对 ...

有没有按钮的点击前事件呢
回复 使用道具 举报
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:07:46
8#
eat_grape_5 发表于 2024-7-22 09:24
那就上图了,楼主结合下面这个动图理解下,先看看是否能理解:

大概看懂了,我怎么把单元格取消锁定呢,没找到怎么代码实现
回复 使用道具 举报
eat_grape_5
高级会员   /  发表于:2024-7-22 09:24:21
7#
我是新用户 发表于 2024-7-22 09:20
不太理解您的意思。

那就上图了,楼主结合下面这个动图理解下,先看看是否能理解:
单元格锁定状态分开控制.gif
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部