找回密码
 立即注册

QQ登录

只需一步,快速开始

奇怪又好看

初级会员

28

主题

109

帖子

269

积分

初级会员

积分
269
奇怪又好看
初级会员   /  发表于:2021-7-5 10:16  /   查看:1743  /  回复:3


当一个单元格离开编辑的时候
检测输入的内容是否含有=和!(即查询用户是否输入跨sheet公式)
含有则把该单元格value设置为null
但是没起作用
页面还是显示输入内容
跨sheet公式例子:='A41.2'!J27
// 禁止输入跨sheet公式
      sheet.bind(GC.Spread.Sheets.Events.EditEnding, function (sender, args) {
        if (args.editingText != null && args.editingText.indexOf('!') != -1 && args.editingText.indexOf('=') != -1) {
          setTimeout(function () {
            sheet.setValue(args.row, args.col, null)
          },0)
          console.log(sheet.getValue(args.row, args.col))  // null
          console.log(sheet.getText(args.row, args.col))   //
          console.log(sheet.getFormula(args.row, args.col))  // null


        }
      })



3 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-5 10:30:05
沙发
可以参考下面的代码修改
  1.     sheet.bind(GC.Spread.Sheets.Events.EditEnding, function (sender, args) {
  2.         if (args.editingText != null && args.editingText.indexOf('!') != -1 && args.editingText.indexOf('=') != -1) {
  3.           setTimeout(function () {
  4.             sheet.setFormula(args.row, args.col,undefined)
  5.             sheet.setValue(args.row, args.col, null)
  6.           },0)
  7.           console.log(sheet.getValue(args.row, args.col))  // null
  8.           console.log(sheet.getText(args.row, args.col))   //
  9.           console.log(sheet.getFormula(args.row, args.col))  // null
  10.         }
  11.       })
复制代码


回复 使用道具 举报
奇怪又好看
初级会员   /  发表于:2021-7-5 11:35:33
板凳
Derrick.Jiao 发表于 2021-7-5 10:30
可以参考下面的代码修改

好的,解决了,谢谢
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-5 12:05:35
地板
奇怪又好看 发表于 2021-7-5 11:35
好的,解决了,谢谢

不用客气,有新问题欢迎开新帖交流~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部