老师,我在SQL数据库里有,时间格式列A和列B,例其时间为列A20:00,列B22:47,有双精度的列C,扩展类型为时段,我用C=B-A,得出C=167(我用的是分钟),请问我如何让列C的显示格式为02:47,让列C这样显示后,我能否还能这样去写表达式:Math.Ceiling((r("列C") - 149) / 60) * 60
列C 扩展类型为时段默认就是显示为02:47这种格式的呀。
表达式:([列C] - 149) / 60 * 60
老师,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是用时自
时段是以秒为单位的哦
r("砼销明细_超时_用时自") = tp.TotalSeconds()
老师,我改成秒后,显示的是8820了,还是没有显示成02:47这样的时分格式,那我是不是要在加载表时,定义用时自列的格式呢,比如,我在建表时,时起是日期格式列,但加载进窗口后又不是了,我在加载表时加了,这句代码后,才正确显示,DataTables("工作总表_Table7").DataCols("砼销明细_超时_时起").SetDateTimeFormat(DateTimeFormatEnum.Time),
老师,我加了 DataTables("工作总表_Table7").DataCols("砼销明细_超时_用时自").SetDateTimeFormat(DateTimeFormatEnum.Time)后,显示的就是HH:mm
不需要SetDateTimeFormat的,除非是日期列。肯定没有设置为时段列,日期列是无法设置为时段列的,只有双精度可以
此主题相关图片如下:微信截图_20240812160709.png
此主题相关图片如下:微信截图_20240812160725.png
看上面的代码,设置的是窗口表,窗口表和列属性的设置没有任何关系的。请上传实例看看