找回密码
 立即注册

QQ登录

只需一步,快速开始

gjsucs

金牌服务用户

11

主题

31

帖子

317

积分

金牌服务用户

积分
317
gjsucs
金牌服务用户   /  发表于:2020-10-21 12:06  /   查看:2528  /  回复:6
本帖最后由 gjsucs 于 2020-10-21 21:16 编辑

想要的结果是单元格内的金额 按照给定的格式 "#.00" 格式化,并且负数是红色的,现在自定义格式没有生效,求指导。

金额.html

3.26 KB, 下载次数: 48

6 个回复

倒序浏览
gjsucs
金牌服务用户   /  发表于:2020-10-21 12:06:57
沙发
之前实验过 用“#.00;[红色]-#.00” 没有变成红色
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-10-21 12:27:55
板凳
您好,您可以用条件格式和formatter实现
image.png915616760.png

这是学习指南的链接
https://demo.grapecity.com.cn/sp ... ional-format/purejs
回复 使用道具 举报
gjsucs
金牌服务用户   /  发表于:2020-10-21 14:41:12
地板
我那个写法哪里错了?如何正确响应?
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-10-21 15:43:49
5#
gjsucs 发表于 2020-10-21 14:41
我那个写法哪里错了?如何正确响应?

因为下面这句代码影响了后续代码的执行,相当于设置了两遍单元格格式(参考附件)
  1.     this.format=format
复制代码
颜色问题已给您解决(参考附件)
如果您需要负数显示红色并且保留两位小数,那么您需要在formatterNumber这个函数里设置数字的小数位数

也就是通过js代码处理小数位然后返回



金额.html

3.26 KB, 下载次数: 42

回复 使用道具 举报
gjsucs
金牌服务用户   /  发表于:2020-10-21 16:49:27
6#
用了这种函数的方式,原来的#,###.00 这种 就不能用了?
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-10-21 17:04:13
7#
gjsucs 发表于 2020-10-21 16:49
用了这种函数的方式,原来的#,###.00 这种 就不能用了?

因为#,###.00属于单元格格式,自定义也是单元格格式,两者会冲突。

所以要么单独用一种,要么就在自定义格式里面一重新自定义。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部