找回密码
 立即注册

QQ登录

只需一步,快速开始

IvanBy
金牌服务用户   /  发表于:2017-6-5 17:59:57
11#
但这样终究不灵活
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-6-5 18:28:53
12#
IvanBy 发表于 2017-6-5 17:59
但这样终究不灵活

因为您使用的是数据验证,那么验证的肯定是数据(value)而不是最终向用户呈现的text,这么说,当进行数据验证时已经将用户的输入转换为单元格的value了,只是还没有完成编辑存放至单元格中。如果您单纯是验证时间或者时间的范围区间,我们有专门的createDateValidator时间校验来做,如果您的校验中有逻辑,那么您可以在之前的方法中将获取的value format 为 string,如果您想要校验的是用户输入,那么您可以绑定editend时间来进行校验(这样您需要自己定义校验内容以及触发效果),所以您可以向我们描述一下您的需求,或者想要达到的效果,我们可以给您提供我们的建议,您可以当作参考。
回复 使用道具 举报
IvanBy
金牌服务用户   /  发表于:2017-6-5 18:37:46
13#
ClarkPan 发表于 2017-6-5 18:28
因为您使用的是数据验证,那么验证的肯定是数据(value)而不是最终向用户呈现的text,这么说,当进行数 ...

嗯,我也用了createDateValidator。但就是如果可以用正则表达式处理就好点。先不管它了,我对日期对象转为字符串格式了。
对是,是否能全局禁用单元格自动转为日期对象?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-6-6 10:15:45
14#
IvanBy 发表于 2017-6-5 18:37
嗯,我也用了createDateValidator。但就是如果可以用正则表达式处理就好点。先不管它了,我对日期对象转 ...

单元格自动转为日期对象这个功能是与Excel类似的,根据您的输入自动判断类型,如果不是已知类型则转为字符串显示。直接禁用是没办法的,但是可以设置单元格的formatter为"@",这样会使单元格默认以字符串的格式显示。变相的禁用了自动转换。
回复 使用道具 举报
IvanBy
金牌服务用户   /  发表于:2017-6-6 10:30:02
15#
ClarkPan 发表于 2017-6-6 10:15
单元格自动转为日期对象这个功能是与Excel类似的,根据您的输入自动判断类型,如果不是已知类型则转为字 ...

这还得显式地设定一些区域,也不现实
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-6-6 10:33:51
16#
IvanBy 发表于 2017-6-6 10:30
这还得显式地设定一些区域,也不现实

如果要设置全局也可以,但是其他单元格也会失去自动格式转换,都会默认转换为字符串。
像这样:
  1. var defaultStyle = new GcSpread.Sheets.Style();
  2.                         defaultStyle.formatter = "@";
  3.                         sheet.setDefaultStyle(defaultStyle, GcSpread.Sheets.SheetArea.viewport);
复制代码
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部