请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

[已处理] 14.0.7 格式验证

brmxj
金牌服务用户   /  发表于:2022-4-9 15:28  /   查看:1170  /  回复:1
本帖最后由 brmxj 于 2022-4-9 15:40 编辑

1、报表内限制输入的数字范围位数,非负,是不是只能通过数据验证限制,还有限制单元格输入字符50个这种怎么限制
2、如果实现输入的值真实位数和格式相同,比如设置单元格为2位小数显示,但是输入的值是3位的,那实际获取到的就是三位小数。如果使他获取到的就是2位小数的
3、如果设置数据验证,在线表格编辑器内是实现了弹框 image.png231547545.png 并且值会清空,但是我系统中只看到了会红圈提示,这个是怎么实现的

1 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-4-11 09:08:42
沙发
1、利用数据验证实现,例如验证非负数可以用下面的代码,想要验证数据长度可以用TextLengthValidator
  1. spread.options.highlightInvalidData = true;
  2. var dv = GC.Spread.Sheets.DataValidation.createNumberValidator(GC.Spread.Sheets.ConditionalFormatting.ComparisonOperators.greaterThanOrEqualsTo, "0", null, true);
  3. dv.showInputMessage(true);
  4. dv.inputMessage("请输入非负数");
  5. dv.inputTitle("tip");
  6. sheet.setDataValidator(1, 1, 1,1,dv,GC.Spread.Sheets.SheetArea.viewport);
复制代码


2、可以利用事件实现,例如
  1. sheet.bind(GC.Spread.Sheets.Events.EditEnded, function (sender, args) {
  2.     var text = sheet.getText(args.row,args.col);
  3.     sheet.setValue(args.row,args.col,parseFloat(text))
  4. });
复制代码


3、要想实现类似的弹窗可以考虑用模态框实现,例如下面的教程。
https://gcdn.grapecity.com.cn/fo ... hread&tid=82877
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部