找回密码
 立即注册

QQ登录

只需一步,快速开始

李仔文

注册会员

10

主题

22

帖子

76

积分

注册会员

积分
76
李仔文
注册会员   /  发表于:2024-6-28 17:36  /   查看:788  /  回复:4
20金币
本帖最后由 李仔文 于 2024-6-28 17:47 编辑

我自定义了一个单元格类型,我发现我给它设置了格式化后再次按下tab键时被设置了格式化的单元格打不开了,之前没设置的时候按下Tab切换到该类型的单元格时是能够正常打开单元格进入编辑状态的。

如下
image.png63355101.png
当我按下Tab键后构成数量进入到了编辑状态,但是当我再次按下Tab键时,有偿单价并没有进入编辑状态
image.png233843688.png
这两个的唯一区别只在于一个加了格式化一个没加
image.png894860839.png
怎么解决设置格式化后按下Tab键能够照常打开,自定义的单元格类型附件已经提供

demo.zip

1.38 KB, 下载次数: 191

最佳答案

查看完整内容

CustomTextCellType.prototype.paint = function(ctx, value, x, y, w, h, style, context) { let formatter = context.sheet.getFormatter(context.row, context.col); if(value && formatter && formatter !== "@") { value = formatter.format(value) } 通过.formatter()设置格式化后,在重新绘制的时候再调用它的格式化就可以了

4 个回复

倒序浏览
最佳答案
最佳答案
李仔文
注册会员   /  发表于:2024-6-28 17:36:35
来自 4#
AlexZ 发表于 2024-7-1 17:16
能否分享具体的解决办法?

CustomTextCellType.prototype.paint = function(ctx, value, x, y, w, h, style, context) {

  let formatter = context.sheet.getFormatter(context.row, context.col);
  if(value && formatter && formatter !== "@") {
    value = formatter.format(value)
  }
通过.formatter()设置格式化后,在重新绘制的时候再调用它的格式化就可以了

评分

参与人数 1金币 +66 收起 理由
AlexZ + 66 赞一个!

查看全部评分

回复 使用道具 举报
李仔文
注册会员   /  发表于:2024-7-1 17:04:03
2#
关帖吧,已经解决
回复 使用道具 举报
AlexZ讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-7-1 17:16:22
3#
能否分享具体的解决办法?
回复 使用道具 举报
AlexZ讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-7-1 17:35:48
5#
感谢分享!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部