找回密码
 立即注册

QQ登录

只需一步,快速开始

硕㏒

金牌服务用户

28

主题

98

帖子

278

积分

金牌服务用户

积分
278

[处理中] 禁用键盘输入

硕㏒
金牌服务用户   /  发表于:2024-5-24 13:40  /   查看:262  /  回复:3
20金币
我当前面临一个特定需求场景,需要在电子表格的某一些单元格中实现以下功能限制:
  • 禁止用户直接输入:用户不应当被允许通过键盘或其他输入设备直接在单元格中输入任何内容。
  • 禁止粘贴与复制:用户不应当能够通过常规的复制和粘贴操作在单元格中放置任何数据。
  • 允许内容删除:尽管限制了用户直接输入和粘贴内容,但用户应当能够删除单元格中已存在的内容。
  • 支持特定设备输入:同时,为了满足特定操作需求,需要允许某些外部设备(如扫码枪、电子天平等)通过USB接口与电子表格软件交互,并将这些设备读取的数据自动输入到指定的单元格中。

请问有什么方法或技术可以实现上述功能限制,同时确保特定设备的正常输入操作?

3 个回复

倒序浏览
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-5-24 14:28:05
沙发
您好,我想您可以通过事件监听来实现您的需求
1. 禁止输入:
  1. // 禁止输入
  2. spread.bind(GC.Spread.Sheets.Events.EditStarting, function (sender, args) {
  3.   args.cancel = true;
  4. });
  5. // 解除禁止输入
  6. spread.unbind(GC.Spread.Sheets.Events.EditStarting);
复制代码

2. 禁止粘贴
  1. // 禁止粘贴
  2. spread.bind(GC.Spread.Sheets.Events.ClipboardPasting, function (sender, args) {
  3.   args.cancel = true;
  4. });
  5. // 解除禁止粘贴
  6. spread.unbind(GC.Spread.Sheets.Events.ClipboardPasting);
复制代码

3. 允许删除
按Del键就能够删除
4. 支持输入
用代码输入即可:sheet.setValue(0,0,"test")
回复 使用道具 举报
硕㏒
金牌服务用户   /  发表于:2024-5-24 14:38:25
板凳
Richard.Huang 发表于 2024-5-24 14:28
您好,我想您可以通过事件监听来实现您的需求
1. 禁止输入:

好的,后面有时间我来验证下是否可行
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-5-24 15:39:59
地板
硕㏒ 发表于 2024-5-24 14:38
好的,后面有时间我来验证下是否可行

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部