以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 分钟计算 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=190007) |
-- 作者:yifan3429 -- 发布时间:2024/1/10 16:14:00 -- 分钟计算 Select Case e.DataCol.name Case "时间_开始", "时间_时长" Dim dr As DataRow = e.DataRow If dr.IsNull("时间_开始") Or dr.IsNull("时间_时长") Then dr("时间_结束") = Nothing Else Dim dt As Date = dr("时间_开始") dr("时间_结束") = dt.AddSeconds(dr("时间_时长")) \'注意时段型列是以秒为单位参与计算的 End If End Select Dim dwr As DataRow Dim drs As List(Of DataRow) dwr = e.DataTable.Find("[_SortKey] < " & e.DataRow("_SortKey"), "[_SortKey] Desc") \'找出上一行 If dwr Is Nothing Then \'如果没有找到上一行,说明本行就是第一行 dwr = e.DataRow End If drs = e.DataTable.Select("[_SortKey] >= " & dwr("_SortKey"), "[_SortKey]") For i As Integer = 1 To drs.Count - 1 \'重算余下行的余额 drs(i)("时间_开始") = drs(i - 1)("时间_结束") Next 目前都是小时,希望是分钟计算 例如30分钟 45分种 [此贴子已经被作者于2024/1/10 16:13:59编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/1/10 17:07:00 -- 代码不就已经注释了是按秒计算的吗,30分钟填入30*60=1800秒不就行了 |
-- 作者:yifan3429 -- 发布时间:2024/1/10 17:14:00 -- 关键是 我目前的时长不支持输入分钟 0.5就会无效 1 就会是一个小时 30 就会是30小时
|
-- 作者:有点蓝 -- 发布时间:2024/1/10 17:17:00 -- 时段列要输入【0:30】表示30分钟 |