editmask编辑时间问题

sunfor 2012-07-17 02:22:10
有一列datetime类型数据,在数据窗口中用editmask编辑,设置MASK为hh:mm格式,在Spin control选上,
在编辑时,这列的设置为当天的日期,但当我点Spin control上下修改时间时,这列的数据就会变成:
1900-01-01 00:00!
请问如何只显示时间,不显示日期,来进行编辑这列数值?
...全文
307 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
直接用timemask不就行了吗
pb8 2012-07-17
  • 打赏
  • 举报
回复
你为什么不用time类型的虚拟列呢?1900代表日期无效,你的mask中无日期部分的
sunfor 2012-07-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
Mask设置为yyyy-mm-dd hh:mm时,使用spin正常,好好检查你的设置
[/Quote]
Mask设置为yyyy-mm-dd hh:mm时,是正常的,
但设置为HH:SS就有上面的现象了!
sunfor 2012-07-17
  • 打赏
  • 举报
回复
我用的是PB10,Mask Type设置的是datetime.

我先把服务器日期 + 8点25分作为这列的初始值.
select getdate() into :ld_datetime from TB1;
dw_1.setitem(arow,"time1",datetime(string(date(ld_datetime),"yyyy-mm-dd")+' 08:25'))
这列的开始值就为:2012-07-17 08:25,值就显示为:08:25

然后点Spin control修改时间,把它修改为08:30,在这列的itemchenged事件中写入:messagebox("日期",string(data))
结果提示这列修改后的值是:1900-01-01 08:30:00:000000
一修改这列日期就变了!不修改时是正常的!
pb8 2012-07-17
  • 打赏
  • 举报
回复
一、如果你设置为hh:mm格式,怎么会显示1900-01-01 00:00呢,最多只会显示后面的时和分呀;
二、你的MaskDateType设置的是什么?

在pb9和pb11上做了测试,MaskDataType设置为datetimemask!,Mask设置为yyyy-mm-dd hh:mm时,使用spin正常,好好检查你的设置

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧