找回密码
 立即注册

QQ登录

只需一步,快速开始

Aria
金牌服务用户   /  发表于:2024-11-12 18:28  /   查看:135  /  回复:13
你好,过滤功能过滤日期字段时报错
image.png826339111.png
需要排查一下,demo如下:

FilterOperator_java (filter date) .zip (170.87 KB, 下载次数: 5)

13 个回复

倒序浏览
Lewis
初级会员   /  发表于:2024-11-12 19:03:46
沙发
貌似目前模版语言的过滤还不支持date这种对象级别的比较,我看了一下你的代码,可以尝试自己format一个日期出来,这样字符串就可以比较了:
public Object getValue(int row, int column) {
    if (column == 2) {
        long timeInMillis = 1697366400000L; // 2023-10-15 00:00:00 GMT
        Date sqlDate = new Date(timeInMillis);
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        return dateFormat.format(sqlDate);
    }
    return _dataRange.get(row + 1, column).getValue();
}


回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-11-13 10:12:04
板凳
Lewis 发表于 2024-11-12 19:03
貌似目前模版语言的过滤还不支持date这种对象级别的比较,我看了一下你的代码,可以尝试自己format一个日期 ...

回复 使用道具 举报
Aria
金牌服务用户   /  发表于:2024-11-13 11:00:45
地板
这个转换成字符串了,做过滤是没有问题。
我们这次想在ITableDataSouse使用java.util.Date。是因为java.util.Date渲染后,单元格的格式也是日期格式。(正好能解决之前使用JsonDataSource的日期String,渲染后不是日期单元格格式的问题。)
我改为使用String,有没有什么解决办法解决?
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-11-13 14:15:07
5#
您好,没太理解您的意思,是说按照一楼的方式调整后,单元格的格式是字符串而不是日期格式吗?
回复 使用道具 举报
Aria
金牌服务用户   /  发表于:2024-11-13 14:44:59
6#
image.png830780334.png
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-11-13 17:25:02
7#
您好,您可以调整一下模板中的filter条件,用日期的OADate来比较,然后给单元格设置一个日期的格式即可。
回复 使用道具 举报
Aria
金牌服务用户   /  发表于:2024-11-13 18:01:12
8#
可以给我一个新的demo示例吗?
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:7 天前
9#
好的,这边整理一下,稍后提供给您。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:7 天前
10#
您好,请参考附件。


FilterOperator_java (1).zip

177.54 KB, 下载次数: 1

回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部