找回密码
 立即注册

QQ登录

只需一步,快速开始

新雨月

注册会员

4

主题

16

帖子

82

积分

注册会员

积分
82
新雨月
注册会员   /  发表于:2021-5-28 11:28  /   查看:2250  /  回复:3
1金币
本帖最后由 新雨月 于 2021-5-28 11:30 编辑

    在使用自定义单元格格式时,调用自适应列宽方法autoFitColumn后,单元格宽度适应存在问题,导致数值无法正常显示。    如下图,A列加载了自定义单元格格式,调用自适应宽度后,以文本“自定义格式列”作为最大宽度进行自适应,导致单元格A1数值显示为###:
image.png555575561.png

代码如下:
  1. function C(){}
  2. C.prototype = new GC.Spread.Formatter.FormatterBase();
  3. C.prototype.format = function(a){return a;} // 直接返回,不做处理。

  4.                 window.onload = function () {
  5.             var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
  6.             var sheet = spread.getActiveSheet();
  7.             sheet.setArray(0,0,[
  8.             ["自定义格式列","默认格式列","无格式列"],
  9.             [12345678901234567890,12345678901234567890,12345678901234567890],
  10.             [123456.78,123456.78,123456.78],
  11.             [123456,123456,123456],
  12.             ]);
  13.             
  14. spread.getActiveSheet().getRange(0,0,10,1).formatter(new C()); // A列自定义格式,
  15. spread.getActiveSheet().getRange(0,2,10,1).formatter(new GC.Spread.Formatter.GeneralFormatter()); // B列默认格式,正常显示
  16.             for (let i = 0; i < 4; i++) {
  17.                      sheet.autoFitColumn(i);
  18.             }
  19.         };

  20.                
复制代码



    问:在使用自定义单元格格式时,如何保证调用自适应列宽后,数据正常展示
image.png862382507.png

DisplayErrorWithCustomFormatter.zip

998 Bytes, 下载次数: 60

最佳答案

查看完整内容

对于Formatter类,它有两个特性。 格式化:将对象格式化为字符串。 解析:将字符串解析为对象。 因此,格式化的结果必须是字符串。 已在附件中为您修改。

3 个回复

倒序浏览
最佳答案
最佳答案
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-5-28 11:28:54
来自 2#
对于Formatter类,它有两个特性。
格式化:将对象格式化为字符串。
解析:将字符串解析为对象。
因此,格式化的结果必须是字符串。
已在附件中为您修改。
  1. function C() { }
  2.         C.prototype = new GC.Spread.Formatter.FormatterBase();
  3.         C.prototype.format = function (a) {
  4.         if(a===null||a===void 0){
  5.             return a;
  6.         }
  7.         return a.toString();
  8.     }
复制代码


modelV14_DEFAULT - 副本.html

1.79 KB, 下载次数: 46

回复 使用道具 举报
新雨月
注册会员   /  发表于:2021-5-28 11:54:18
3#
Derrick.Jiao 发表于 2021-5-28 11:44
对于Formatter类,它有两个特性。
格式化:将对象格式化为字符串。
解析:将字符串解析为对象。

谢谢,问题已解决。
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-5-28 11:59:15
4#
新雨月 发表于 2021-5-28 11:54
谢谢,问题已解决。

不用客气,有新问题欢迎开新帖交流~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部