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

QQ登录

只需一步,快速开始

也许明天

初级会员

45

主题

163

帖子

378

积分

初级会员

积分
378
也许明天
初级会员   /  发表于:2021-9-18 14:53  /   查看:3413  /  回复:12
1金币
怎么让表单输入结果只能是数字   举例。就是可以在表单内输入公式。结果也必须是数字。 不然不行

最佳答案

查看完整内容

公式名称写错了。另外,如果用数据验证的方法,想要限制复制的内容,需要双击这个单元格进入编辑状态进行粘贴才能生效,否则数据验证会被复制的单元格所覆盖掉。

12 个回复

倒序浏览
最佳答案
最佳答案
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-9-18 14:53:29
来自 11#

公式名称写错了。另外,如果用数据验证的方法,想要限制复制的内容,需要双击这个单元格进入编辑状态进行粘贴才能生效,否则数据验证会被复制的单元格所覆盖掉。
image.png206078490.png
回复 使用道具 举报
tisking悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-9-18 15:00:48
2#
1.使用isnumber(数据)-->如果值为数字,则返回 TRUE,反之返回false
https://support.microsoft.com/zh ... ;rs=zh-cn&ad=cn

2.使用type(数值)函数 根据返回的value判断数据 1.数字  2.文本  4.逻辑值  16.误差值  64.数组
https://support.microsoft.com/zh ... ;rs=zh-cn&ad=cn
回复 使用道具 举报
也许明天
初级会员   /  发表于:2021-9-18 15:09:48
3#
tisking 发表于 2021-9-18 15:00
1.使用isnumber(数据)-->如果值为数字,则返回 TRUE,反之返回false
https://support.microsoft.com/zh-cn ...

我要以什么方式写呢。能不能给个例子啊
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-9-18 15:12:24
4#
也许明天 发表于 2021-9-18 15:09
我要以什么方式写呢。能不能给个例子啊

您可以用事件实现,请参考下面的代码
  1. sheet.bind(GC.Spread.Sheets.Events.EditEnded, function (sender, args) {
  2. if (isNaN(sheet.getValue(sheet.getActiveRowIndex(),sheet.getActiveColumnIndex())) == true) {      
  3.     spread.undoManager().undo();}
  4. });
复制代码



回复 使用道具 举报
也许明天
初级会员   /  发表于:2021-9-18 15:20:12
5#
Derrick.Jiao 发表于 2021-9-18 15:12
您可以用事件实现,请参考下面的代码

事件不行 - -   直接删除。或者粘贴上的数据。不触发。  我只开始这样想过
回复 使用道具 举报
tisking悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-9-18 15:30:00
6#
也许明天 发表于 2021-9-18 15:09
我要以什么方式写呢。能不能给个例子啊

是活字格开发的吗?
活字格页面你在设计表单时候可以通过这样的函数返回值进行判断,如果不是数字就给个提示让他输入数字不就好了。

这是基于活字格说的,要是你不是活字格做的可以忽略这条建议.
回复 使用道具 举报
也许明天
初级会员   /  发表于:2021-9-18 15:35:33
7#
tisking 发表于 2021-9-18 15:30
是活字格开发的吗?
活字格页面你在设计表单时候可以通过这样的函数返回值进行判断,如果不是数字就给个 ...

不是哈  是sheet表单   有没有验证器验证是不是数字的   api不好找。我找不到。用单元格验证器应该行
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-9-18 15:39:52
8#
也许明天 发表于 2021-9-18 15:35
不是哈  是sheet表单   有没有验证器验证是不是数字的   api不好找。我找不到。用单元格验证器应该行

您也可以尝试自定义函数实现
https://gcdn.grapecity.com.cn/showtopic-81507-1-1.html

或者用数据验证var dv = GC.Spread.Sheets.DataValidation.createFormulaValidator("=ISNUMBER(B1)");
dv.showInputMessage(true);
dv.inputMessage("Enter a number.");
dv.inputTitle("Tip");
sheet.setDataValidator(-1, 1, -1,1,dv,GC.Spread.Sheets.SheetArea.viewport);
回复 使用道具 举报
也许明天
初级会员   /  发表于:2021-9-22 11:09:30
9#
Derrick.Jiao 发表于 2021-9-18 15:39
您也可以尝试自定义函数实现
https://gcdn.grapecity.com.cn/showtopic-81507-1-1.html

根据刚才那个函数。  我哪里复制错了。 正则方法有问题?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部