找回密码
 立即注册

QQ登录

只需一步,快速开始

Distance

注册会员

4

主题

8

帖子

28

积分

注册会员

积分
28
  • 104

    金币

  • 4

    主题

  • 8

    帖子

最新发帖
Distance
注册会员   /  发表于:2021-11-10 11:25  /   查看:2127  /  回复:1
1金币
希望结果:
2小时23分 被格式化成 02:23;
33小时被格式化成 33:00;
现状:
加方括号第1条不能满足,不加不能满足第二条

最佳答案

查看完整内容

单元格格式这块,SJS是以Excel为标准来设计的。 这边也调研了下相关格式,未能找到同时满足您两个条件的单元格格式。 有个思路您可以参考下: 通过监听 EditEnding 事件,获取编辑的值 args.editingText。利用正则判断如果是 “2:23”这种形式,则设置setFormatter 为 “hh:mm”。 如果为 “33:00”这种形式,则设置setFormatter 为 “[hh]:mm”。 示例代码:

1 个回复

正序浏览
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-11-10 11:25:32
来自 2#
单元格格式这块,SJS是以Excel为标准来设计的。
这边也调研了下相关格式,未能找到同时满足您两个条件的单元格格式。
有个思路您可以参考下:
通过监听 EditEnding 事件,获取编辑的值 args.editingText。利用正则判断如果是 “2:23”这种形式,则设置setFormatter 为 “hh:mm”。
如果为 “33:00”这种形式,则设置setFormatter 为 “[hh]:mm”。
示例代码:
  1. sheet.bind(GC.Spread.Sheets.Events.EditEnding, function (sender, args) {
  2.     if(条件1) {
  3.         sheet.setFormatter(args.row, args.col, "hh:mm")
  4.     } else if(条件2) {
  5.         sheet.setFormatter(args.row, args.col, "[hh]:mm")
  6.     }
  7. });
复制代码


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部