找回密码
 立即注册

QQ登录

只需一步,快速开始

汇新泓博
初级会员   /  发表于:2023-3-20 16:33  /   查看:1590  /  回复:7
A2单元格的值是粘贴的的,是一个错误的,然后我再手动改这个值改不了,报输入值不合法,已经限制单元格输入值
企业微信截图_16793009219903.png
企业微信截图_16793009118992.png
企业微信截图_1679300875727.png

7 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-20 17:56:04
沙发
您好,
该弹窗是怎么触发的,数据验证逻辑又是怎么实现的呢。
这里面涉及到您的业务逻辑,请直接提供一个可复现的demo,这边在代码基础上调研下问题原因。
回复 使用道具 举报
汇新泓博
初级会员   /  发表于:2023-3-21 09:14:04
板凳
   var range = new GC.Spread.Sheets.Range(
                newRow || cellRange.row,
                c,
                1,
                1
              );
              var value = GC.Spread.Sheets.CalcEngine.rangeToFormula(
                range,
                0,
                0,
                GC.Spread.Sheets.CalcEngine.RangeReferenceRelative.allRelative
              );
              let dv_num =
                GC.Spread.Sheets.DataValidation.createFormulaValidator(
                  `=TRUNC(${value},${cellValid.value})=${value}`
                );

              dv_num.highlightStyle(highlightStyleMap);

              dv_num.inputTitle(`数字验证${cellIgnoreBlank ? "" : "/必填"}`);
              dv_num.inputMessage(
                `保留${cellValid.value ? cellValid.value : "0"}位小数`
              );

              sheet.setDataValidator(
                newRow || cellRange.row,
                c,
                newRow || cellRange.rowCount,
                1,
                dv_num
              );
              break;
回复 使用道具 举报
汇新泓博
初级会员   /  发表于:2023-3-21 09:14:18
地板
Lynn.Dou 发表于 2023-3-20 17:56
您好,
该弹窗是怎么触发的,数据验证逻辑又是怎么实现的呢。
这里面涉及到您的业务逻辑,请直接提供一个 ...

   var range = new GC.Spread.Sheets.Range(
                newRow || cellRange.row,
                c,
                1,
                1
              );
              var value = GC.Spread.Sheets.CalcEngine.rangeToFormula(
                range,
                0,
                0,
                GC.Spread.Sheets.CalcEngine.RangeReferenceRelative.allRelative
              );
              let dv_num =
                GC.Spread.Sheets.DataValidation.createFormulaValidator(
                  `=TRUNC(${value},${cellValid.value})=${value}`
                );

              dv_num.highlightStyle(highlightStyleMap);

              dv_num.inputTitle(`数字验证${cellIgnoreBlank ? "" : "/必填"}`);
              dv_num.inputMessage(
                `保留${cellValid.value ? cellValid.value : "0"}位小数`
              );

              sheet.setDataValidator(
                newRow || cellRange.row,
                c,
                newRow || cellRange.rowCount,
                1,
                dv_num
              );
              break;
回复 使用道具 举报
汇新泓博
初级会员   /  发表于:2023-3-21 09:16:11
5#
Lynn.Dou 发表于 2023-3-20 17:56
您好,
该弹窗是怎么触发的,数据验证逻辑又是怎么实现的呢。
这里面涉及到您的业务逻辑,请直接提供一个 ...

弹窗是点保存的时候触发的
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-21 18:23:46
6#
收到,这边根据您的代码先尝试复现下此问题,有结果贴中回复您。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-22 14:09:02
7#
根据您提供的代码尝试整理了demo,但是有些变量未知,所以无法运行复现。

image.png228919066.png
请在附件demo基础上补充/修改自己的代码,能复现贴中描述问题即可,这边再实际验证下。

数据验证.html

3.81 KB, 下载次数: 64

回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-30 14:55:28
8#
如果楼主的问题仍未解决,请不补充上述demo来重现问题,我们再继续协助调研
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部