找回密码
 立即注册

QQ登录

只需一步,快速开始

micropole
初级会员   /  发表于:2021-8-16 16:40  /   查看:1416  /  回复:4
在对日期列过滤的时候,需要实现下图红框处所示的格式,请问如何设置?
1629103024(1).png581528014.png

我设置的代码如下(其中的Value值为:yyyy/MM/dd):
1629103100(1).png875585327.png
运行后效果:
1629103183(1).png218012389.png

4 个回复

倒序浏览
micropole
初级会员   /  发表于:2021-8-16 17:13:20
沙发
补发ssjson文件,请参考

20210816.rar

1.46 KB, 下载次数: 26

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-16 17:50:26
板凳
您好,
筛选是根据单元格的真实值进行展示的,
如果您想实现截图所示的效果,
需要给单元格赋值Date类型,而不是一个字符串。
如下图:
image.png452732543.png


回复 使用道具 举报
micropole
初级会员   /  发表于:2021-8-16 17:51:14
地板
问题的原因是数据的类型看上去是日期类型的,其实还是文本格式的,那么使用sheet.setFormatter(-1,0,“yyyy/MM/dd");不是把第0列转换为对应格式的日期类型吗?
如果不是,那如何把这一列转换为日期类型?
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-16 18:11:10
5#
使用setFormatter只是改变了显示值text,实际值value是不会变化的。
您使用setValue设置了什么类型值(如字符串),那么使用getValue获取的值就是什么类型(字符串)
对于筛选,SJS内部逻辑就是只有实际值是Date类型,才会显示您截图所示的筛选数据结构。
所以,您需要在赋值时就给单元格一个Date类型,或者自己写代码逻辑实现将单元格的value替换为Date类型(即重新setValue)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部