以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 求助-时段统计 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=193044)
|
-- 作者:lovetoday
-- 发布时间:2024/8/12 12:19:00
-- 求助-时段统计
老师,我在SQL数据库里有,时间格式列A和列B,例其时间为列A20:00,列B22:47,有双精度的列C,扩展类型为时段,我用C=B-A,得出C=167(我用的是分钟),请问我如何让列C的显示格式为02:47,让列C这样显示后,我能否还能这样去写表达式:Math.Ceiling((r("列C") - 149) / 60) * 60
|
-- 作者:有点蓝
-- 发布时间:2024/8/12 13:48:00
--
列C 扩展类型为时段默认就是显示为02:47这种格式的呀。
表达式:([列C] - 149) / 60 * 60
|
-- 作者:lovetoday
-- 发布时间:2024/8/12 14:30:00
--
老师,C列我在建列时是为双精列,并扩展为时段,在加载进窗口后,用这个代码计算后,显示的就是147这个数, \'用时计算 If r.IsNull("砼销明细_超时_时起") Or r.IsNull("砼销明细_超时_时止") Then r("砼销明细_超时_用时自") = Nothing Else Dim tp As TimeSpan tp = r("砼销明细_超时_时止") - r("砼销明细_超时_时起") r("砼销明细_超时_用时自") = tp.TotalMinutes() End If 列A是时起,列B是时止,列C是用时自
|
-- 作者:有点蓝
-- 发布时间:2024/8/12 14:38:00
--
时段是以秒为单位的哦
r("砼销明细_超时_用时自") = tp.TotalSeconds()
|
-- 作者:lovetoday
-- 发布时间:2024/8/12 14:48:00
--
老师,我改成秒后,显示的是8820了,还是没有显示成02:47这样的时分格式,那我是不是要在加载表时,定义用时自列的格式呢,比如,我在建表时,时起是日期格式列,但加载进窗口后又不是了,我在加载表时加了,这句代码后,才正确显示,DataTables("工作总表_Table7").DataCols("砼销明细_超时_时起").SetDateTimeFormat(DateTimeFormatEnum.Time),
|
-- 作者:lovetoday
-- 发布时间:2024/8/12 15:04:00
--
老师,我加了 DataTables("工作总表_Table7").DataCols("砼销明细_超时_用时自").SetDateTimeFormat(DateTimeFormatEnum.Time)后,显示的就是HH:mm
|
-- 作者:有点蓝
-- 发布时间:2024/8/12 15:25:00
--
不需要SetDateTimeFormat的,除非是日期列。肯定没有设置为时段列,日期列是无法设置为时段列的,只有双精度可以
|
-- 作者:lovetoday
-- 发布时间:2024/8/12 16:13:00
--
此主题相关图片如下:微信截图_20240812160709.png
|
-- 作者:lovetoday
-- 发布时间:2024/8/12 16:13:00
--
此主题相关图片如下:微信截图_20240812160725.png
|
-- 作者:有点蓝
-- 发布时间:2024/8/12 16:40:00
--
看上面的代码,设置的是窗口表,窗口表和列属性的设置没有任何关系的。请上传实例看看
|