找回密码
 立即注册

QQ登录

只需一步,快速开始

hduhdc

金牌服务用户

10

主题

29

帖子

79

积分

金牌服务用户

积分
79

[已处理] 数据显示

hduhdc
金牌服务用户   /  发表于:2020-8-20 13:11  /   查看:2038  /  回复:4
如何保证列宽很小的时候number类型的数据不显示###。阿里的quickbi是这样的,有没有解决方案?需求蛮急的

4 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-8-20 13:42:37
沙发
您好,目前SpreadJS暂时没有切换不显示###的开关,这个需求已经正式确认,不出意外预计会在V14版本正式发布。
针对数字、日期类型列宽不够现实###的问题,目前能解决的办法只有两种:
1、扩大列宽,显示完整的内容,用autoFitColumn命令可以很快解决这个问题:
https://demo.grapecity.com.cn/sp ... ~autoFitColumn.html
2、修改数据类型,把单元格value转为字符串类型。为可能填写数字类型的空单元格设置文本类型的formatter“@”。但这样会导致公式计算跳过对应单元格。
回复 使用道具 举报
hduhdc
金牌服务用户   /  发表于:2020-8-20 16:06:39
板凳
autoFitColumn这个确实用了,只是手动缩小列宽不好处理。如果改成字符串确实会影响数据条显示失效
回复 使用道具 举报
hduhdc
金牌服务用户   /  发表于:2020-8-20 16:16:35
地板
ShowValueCellType.prototype.paint = function (ctx, value, x, y, w, h, style, options) {
     

    spreadNS.CellTypes.Base.prototype.paint.apply(this, [ctx, value+'', x, y, w, h, style, options]);
};
我也尝试在paint这一层处理,在这一层吧value转成字符串 value+''
我看是公式是生效但是图标集和进度条不生效。针对不生效的条件格式有办法解决吗
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-8-20 16:42:44
5#
您好,由于渲染机制所限,自定义单元格没办法解决这个问题,这个办法其实之前也尝试过,但还是处理不了这个问题。实在抱歉,这个需求我们非常重视,但目前除了上述两种方案外,没有其它的解决方法了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部