页面可以选择日期 但是重新部署之后没有日期框显示选择了.没有改动代码

image
重新部署之后
image
代码没有改动 ,是否是依赖包的问题

这个需要你自己想办法,我们不知道这些界面是怎么实现的。

你查的表也不一样,不知道是不是这里的问题。

如果你怀疑依赖包,可以比较一下之前依赖和现在依赖有什么区别。但是你说没有改代码,依赖一般不会变。

嗯嗯,同样的表也会出现这个问题。我把之前的依赖复制过来也会出现这个问题。因为这个代码是别人写的,之前的包是正常的,我把代码拉下来打包部署就没有这个日期选择框。可能是没有给最新的代码

如何在表格里面,根据返回的字段类型是时间的 就可以显示日期选择框

这里:数据网格的行内编辑,我感觉这个跟你的挺像的。

一般实体的属性如果是日期,打开行内编辑的时候会自动是日期组件。

注意看这里:
image

某些列也可以按需要使用其他组件进行编辑。

非常感谢您的解答。我查过这个但是返回的实体字段类型是DATETIME,但是没有自动是日期组件

找到了对应的文档 表格组件
image

返回字段实体是DATETIME但是没有自动显示日期框

从现象看,可能是字段类型不对,但是也不能确定,需要看你们实际的代码。代码能提供一下吗,或者提供一个能重现这个问题的小项目?

opentable.zip (13.7 KB)
完整的代码很大,而且无法正常启动,需要走代理。这个是打开表的相关代码,您看下。很奇怪的是,这个项目之前的版本在测试服务器上打开是正常的,但是我拉下来的代码启动后,日期框却不显示,所以我之前怀疑是否是依赖出了问题。我将之前版本的jar包反编译的代码和我拉下来的代码对比,没有差别。

主要是这个代码是接收之前项目的,没有了解对应的框架

我看了下代码,这个是通用的sql执行界面,结果的表格是通过动态添加的 dataGrid 实现的。
其中调用了 setTableDataDs() 方法为 dataGrid 的数据源添加数据。

下面的代码需要调试一下:
image

这里,要看看 entity.getValue() 拿到的value是否是一个 DateTime 类型的对象。

对的,动态添加数据,我看了一下是Timestamp
image
那这里需要进行转换一下吧

嗯,转一下试试。

很奇怪,数据库表的字段属性是DATETIME但是查询返回的是Timestamp

问题找到了,是查询的时候java JDBC 驱动程序自动把DATETIME转换成java.sql.Timestamp

1 个赞

非常感谢您的耐心解答